面向对象思想,最关键就是抽象
一个软件设计的好坏,很大程度上取决于他的整体构架.而这个整体构架其实就是你对整个宏观商业业务的抽象构架.当代表业务逻辑的高层抽象层结构合理时.你底层的具体实现需要考虑就仅仅是一些算法和一些具体的业务实现了.当你需要再开发另一个相近的项目时.你以前的抽象层说不定还可以再利用
面向对象的设计,重复的重点其实应该是抽象层的复用,而不是具体的某个代码块的复用
抽象类和接口都是抽象类型
接口和抽象类的最大区别:
抽象类的优点:
抽象类可以提供某些方法的部分实现;而接口不可以.如果抽象类里加入了一个j具体的方法,那么他的子类可以得到这个新方法.但是如果接口里添加了一个方法.那么他的子类都必须实现这个方法.否则无法通过编译;
接口的优点:
由于类的继承是单一继承,而接口可以多实现,任一实现接口所规定的方法的类都可以具有这个接口的类型,而一个类可以实现 任意多个接口,从而这个类就有了多种类型;
接口是定义混合类型的理想工具
设计模式:(缺省适配模式)
声明类型---接口
给出一个抽象类,实现上述接口
其他同属这个抽象类型的具体类可以选择实现上述接口,也可以选择继承上述抽象类
遵循的命名规则:\ Abstract + 接口名
1. 与类的关系:抽象类强调的是范围内的继承,而接口强调的是功能上的实现
2. 抽象类单一继承;接口可多实现
3. 抽象类中不仅可以有抽象方法,也可以就具体方法,
而接口中只能有抽象方法publicabstract修饰;不能含有静态方法和静态代码块;
4. 抽象类中可以有常量也可以有变量;接口中只能有常量publicstatic final修饰 ;
5. 抽象类中有构造方法给成员变量赋值;接口中没有构造方法;