1.柏拉图原则:
类的世界独立存在对象的世界由类创建------柏拉图原则
注意两点:a.设计尽可能符合人民的习惯
b.类型先存在后创建对象
类之间应该是满足C/S关系,一个是使用者,一个是服务提供者。
一切皆对象(X):在Java源代码中没有任何对象,都是类型,引用变量和引用。
对象只在运行时创建。面向对象编程我觉得可以说是面向类型编程。C/S之间的关系可以体现在耦合性,解决耦合性可以使用到抽象类,接口。这都是一条线下来的,了解了java的设计原则,可以更好的学习java.
2.里氏替换原则:
LSP是正确设计类层次的指导性原则,它检测和保证类层次的正确性,进而维护了针对父类编写程序的正确性------里氏替换原则
子类必须满足父类所有接口,可扩展。
继承:
a.实现继承:
public class parent{
public void method1(){
Code....
}
public void method2(){
code....
}
public abstract void method3();
}
class Child extends Parent{
@override
public void method2(){
code....
}
public void method3(){
code....
}
}
分三种情况:父类函数有空代码,子类直接继承(鼠标适配器类),父类有代码,子类重写(GuI界面重绘,子类必须调用父类代码一次),父类抽象方法,子类实现(延迟实现:好)。 所有的改写尽可能延迟实现。
这样的继承方式比较好。
b.扩展继承:
若父类中的方法子类不具有,就用空代码块代替。例如
class Bird{
public abstract void fly();
}
class tuoBird extends Bird{
public abstract void fly();{
}
}
Java中类别由类型指定,执行由实体指定。例如
Bird b = new TuoBird();
Bird为类别,右边为实体,b只能调用Bird中的方法,不能调用TuoBird中的扩展方法,而实现的方法由右边创建的实体指定。
向上转型后扩展继承所扩展的属性和行为不能被使用。
白马非马:
白马 is a 马!
白马 != 马
3.Pirnas原则
整理中!