这里使用的是哪个类?C#.

本文关键字:这里 | 更新日期: 2023-09-27 18:32:52

如果我有一个基类"Base"和一个派生类"Derived",那么其中哪一个是可以的?

Base b = new Base();
Derived d = new Derived();

(以上2行没问题)

Base b = new Derived();
Derived d = new Base();

他们有什么意义吗?

这里使用的是哪个类?C#.

@Zuzlx的评论是准确的:

所有的牛

都是动物,但不是所有的动物都是牛。

Base替换为AnimalDerived替换为Cow,它会变得更加清晰:

Animal a = new Cow();  // This works since a cow is always an animal.
Cow c = new Animal();  // Just won't work.