小编Ali*_*der的帖子

打破 Liskov 替换原则

我有以下代码

public class A 
{
      public double foo(double y) 
      {
             return real_value;
      }
}
Run Code Online (Sandbox Code Playgroud)

其中foo方法的输入-1 < y < 1和函数的结果是大于零的实数。

然后我有class B继承class A并覆盖方法的继承foo

public class B extends A 
{
      public override double foo(double y)
      {
         return real_value;
      }
}
Run Code Online (Sandbox Code Playgroud)

其中foo方法的输入0 < y < 1和函数的结果是任何实数。

这里是否违反了 Liskov 替换原则?

提前致谢。

liskov-substitution-principle software-design solid-principles

2
推荐指数
1
解决办法
1102
查看次数