c#中Child-Parent类层次结构的不同种类实例

时间:2014-03-18 13:13:44

标签: c# oop

我想知道c#中父子实例之间的关系。

假设您有两个类Base和Derived:

Base b = new Base() Derived d = new Derived() Derived db = new Base() Base bd = new Derived()

那么上面的对象类型是什么意思

请建议我感到困惑。

1 个答案:

答案 0 :(得分:1)

假设Base实际上是Derived ....的基类。

第1行包含基类的实例。

第2行包含Derived类的实例。

这些都是“标准”变量,其中变量类型与它包含的实例完全匹配。

第4行是派生类的实例,但仅限于访问基类方法。可以将其视为派生类的略微受限制的视图。

第3行应该产生编译错误。您不能将基类的实例放入更具限制性的类型的变量中。可以这样想“所有的狗(衍生类)都是动物(基类),但不是所有的动物都是狗。