
下面关于里氏替换原则的描述正确的是()下面关于里氏替换原则的描述正确的是()
阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程
里氏替换原则是面向对象设计中的一个基本原则,它指出:任何父类出现的地方,都应该能够替换成它的子类,而程序的行为不应该受到影响。
里氏替换原则的描述正确的是:
里氏替换原则的描述错误的是:
// 父类
public class Animal {
public void eat() {
System.out.println("动物吃东西");
}
}
// 子类
public class Dog extends Animal {
@Override
public void eat() {
System.out.println("狗吃骨头");
}
}
// 子类
public class Cat extends Animal {
@Override
public void eat() {
System.out.println("猫吃鱼");
}
}
public class Main {
public static void main(String[] args) {
Animal animal = new Animal();
animal.eat();
Animal dog = new Dog();
dog.eat();
Animal cat = new Cat();
cat.eat();
}
}
在这个示例中,Dog 和 Cat 都是 Animal 的子类,它们都实现了 eat() 方法,但是它们的行为是不同的。这符合里氏替换原则的要求。