是否改变获取;组;子类字段中的属性是否违反了Liskov替换原理?

时间:2019-03-21 17:22:42

标签: c# oop liskov-substitution-principle

如果我有一个像这样的父类和子类

public class Animal
{
    public string Name { get; set; }
}
public class Dog : Animal
{
    public string Name 
    {
       get
       {
           return "Dog";
       }
     }
}

代码将编译,但是为什么C#让我这样做?例如,如果将Dog的实例添加到Animal列表中,即使将其设置为只读,也可以更改其名称。

我不确定我对继承的工作方式的理解是否错误,或者这不是将字段设置为只读的最佳方法吗?

0 个答案:

没有答案