先要了解软件设计六大原则
a 单一职责原则:功能单一,只拥抱一种变化,即一个方法只负责一件事,这样该方法进行改动的时候,不会影响其他程序,几乎所有程序员都在遵循这个原则
优点:降低类之间的耦合度,提高可读性,增加可维护性和可扩展性,降低可变性的风险
b 里氏替换原则: 所有可以使用父类的地方一定可以使用子类
c 接口隔离原则: 一个类应该尽量少的把自己的信息透露给客户。应该采用接口的方式来隔离不同的功能函数
d 迪米特原则:也称为最少知识原则,一个类尽量减少自己对其他类的依赖,原则就是低耦合,高内聚
e 开闭原则:对修改关闭,对扩展开放
1 多态
就是父类引用指向子类对象,使用父类声明的变量可以找到子类对象
几种形式:
a 直接多态 Animal a = new Cat();
b 形参和实参:方法声明时,参数列表需要接受父类类型,而方法调用时,传入子类对象
public static void m1(Animal a){}
m1(new Cat());
c 返回值:返回值类型是父类类型,但是返回的对象是子类对象
public static Animal m2(){
return new Cat();
}
缺点: 丢失子类特有的属性
优点:高内聚低耦合
2 Abstract
抽象类往往用来表示设计中得到的抽象概念
abstract是个修饰符,修饰的类是抽象类,不能创建对象,只能用于被继承
抽象方法必须在抽象类中,但是抽象类中不一定有抽象方法
Abstract和final不能同时存在
3 接口
interface 定义接口关键字
语法:【权限修饰符】interface 接口名 {类体}
接口主要为了解决java中单继承功能变弱问题,一个类只能继承一个类,但是可以实现多个接口
注意
如果接口和抽象类都能完成一件事优先使用接口,因为类和接口是多实现,类和类是单继承



