c# - 在 C# oop 中如何解释为什么基类可以采用派生类实例

标签 c# oop inheritance

好吧,因为我是从移动设备上输入的,所以我无法输入或复制粘贴整个代码,因此我链接到 SO 帖子 --> What is the error in this code? Interview

如果你这样做 X a = 新 Y(); 它编译。面试官问这怎么可能?我知道如果 X 被定义为抽象类,这将是可能的,但事实也并非如此。

最佳答案

如果 Y 继承了 X,则 Y 是 一种 X,并且可以在 X 可以使用的任何地方使用。

无论 X 是否抽象,这都有效。

关于c# - 在 C# oop 中如何解释为什么基类可以采用派生类实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9526872/

相关文章:

c# - ILMerge 程序集未正确合并

Ruby:我应该如何访问类中的实例变量?

oop - 构建对象 - 静态构建器方法与构建器类与扩展方法

c# - 如何在绑定(bind)到 ObservableCollection 时禁用 DataGrid 中的单元格

c# - Rijndael 加密函数 - Key/IV/Salt 设置

c# - 代码块内的 MVC Razor 括号

c# - 在具有多个构造函数的单个类中使用对象

scala - 简单的 Scala getter/setter 覆盖

ios - 子类化 MKAnnotation 导致 Set 集合不起作用

c++ - 什么是正确的设计方法?