java - 重写而不调用父方法,违反了里氏原则

标签 java oop solid-principles overriding

我正在开发一个简单的项目。而且我的项目中与里氏原理的含义有冲突。

我用这个例子简化了我的项目问题:

public class Animal {  

     public void feed() {     

         // do something here         
     }    
}    


public class Dog extends Animal {

    // some methods and attributes

    @Override
    public void feed() {   

        // never call parent feed() method (super.feed())
    }
}

所以,我的问题是,如果我不调用父方法并在 override 方法中编写全新的代码,这是否违反了里氏原则?

谢谢。

最佳答案

不会,只要子类的实现满足基类的期望就不会违反里氏原则。

关于java - 重写而不调用父方法,违反了里氏原则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48046418/

相关文章:

Java问题: If/Else

java - 在java中处理定时器

java - Spring @Configuration 是如何被发现的?

java - 如果我需要在其构造中使用方法重载,我应该如何实现一个单例类?

java - 如何编写 Cron 表达式在每个月的第三个星期日晚上 11 点执行触发器?

C++ 虚函数基返回类型建议

c# - 如何使用另一个程序集的内部类

c++ - 对不同的参数使用工厂方法模式

c# - Unity Container - 具有通用工作统一性的多个数据库

c# - 我是否遵循这种结构的 SRP?