何为里氏代换原则
通过继承的方式,确保子类对象能够完全的替换父类对象,并且要保证程序的正确性。
加深里氏代换原则印象
此处,我们将会通过案例的方式来让读者进一步加深对里氏代换原则的印象。
案例分析
首先定义一个抽象的父类来描述画这一行为。其次,我们通过继承的方式来具体化画这一行为,如:画圆,画正方形…。接下来,我们可以描述一个人画画的场景,此处由于不知道具体化什么,因此使用父类来统一描述。
最后,在测试环节,其子类就可以代替其父类,从而输出其具体的结果。
案例代码显示
父类:抽象类,描述画这一行为
public abstract class Graphical {
abstract void draw();
}
子类:使得画这一行为具体化
//画圆
public class Circle extends Graphical {
@Override
void draw() {
System.out.println("正在画圆...");
}
}
//画正方形
public class Square extends Graphical{
@Override
void draw() {
System.out.println("正在画正方形...");
}
}
人的行为描述
public class Person {
void Draw(Graphical g){
g.draw();
}
}
代码的实现
public class test {
public static void main(String[] args) {
Person person = new Person();
person.Draw(new Circle());
person.Draw(new Square());
}
}
结果展示
正在画圆...
正在画正方形...