本篇文章主要介绍了"面向对象编程 软件设计---面向接口编程",主要涉及到面向对象编程方面的内容,对于移动开发感兴趣的同学可以参考一下:
软件设计---面向接口编程java中面向接口编程应用十分广泛,在了解面向接口编程之前,必须先知道什么是里氏代换原则。里氏代换原则(Liskov Substitu...
软件设计---面向接口编程
java中面向接口编程应用十分广泛,在了解面向接口编程之前,必须先知道什么是里氏代换原则。
里氏代换原则(Liskov Substitution Principle, LSP):所有引用基类(父类)的地方必须能透明地使用其子类的对象。简单的说就是一个类可以说成是它的父类,而他的子类却不可以说成是它的父类。
举个例子:
//汽车接口
Interface Car{
}
//奔驰汽车
class BenChiCar implemnts Car{
}
//宝马汽车
class BaoMaiCar implemnts Car{
}
奔驰和宝马都实现了Car接口,可以说奔驰和宝马都是汽车,而不能说汽车就是奔驰或宝马,因为还有其他品牌的汽车
如果想详细了解历史代换原则,可以看这篇博客http://blog.csdn.net/lovelion/article/details/7540445,写的很好,很详细
这些都了解后,就可以谈谈面向接口编程了,还是上面的例子
//汽车接口
Interface Car{
void drive();
}
//奔驰汽车类
class BenChiCar implemnts Car{
@Override
void drive(){
System.out.println("奔驰开动了");
}
}
//宝马汽车类
class BaoMaiCar implemnts Car{
@Override
void drive(){
System.out.println("宝马开动了");
}
}
//测试类
class Test{
Car car1=new BenChiCar();
car1.drive();
Car car2=new BaoMaCar();
car2.drive();
}
打印出来的结果:奔驰开动了
宝马开动了
这就是面对接口编程的优点。
假设还有其它类实现了接口Car:xxCar
对应的drive方法实现效果是://输出 XXCar开动了
...以此类推...
当你使用Car car = new XXCar()时,你不用关心这里的XX到底是什么类(BenChiCar,BaoMaCar,...),
也不用关心到底他们输出了什么。你只要知道,他们都实现了Car接口,即他们都实现了void drive()
这个方法。那么你都可以调用 car.drive() 来执行该方法。
以上就介绍了面向对象编程 软件设计---面向接口编程,包括了面向对象编程方面的内容,希望对移动开发有兴趣的朋友有所帮助。
本文网址链接:http://www.codes51.com/article/detail_1740698.html