如果我有一个像这样的父类和子类
public class Animal
{
public string Name { get; set; }
}
public class Dog : Animal
{
public string Name
{
get
{
return "Dog";
}
}
}
代码将编译,但是为什么C#让我这样做?例如,如果将Dog的实例添加到Animal列表中,即使将其设置为只读,也可以更改其名称。
我不确定我对继承的工作方式的理解是否错误,或者这不是将字段设置为只读的最佳方法吗?