将派生类的对象存储为基类变量.什么是OOP术语?

Ali*_*ran 2 .net c#

在C#中,我们经常使用初始化语法,基类的实例正在使用其继承的子类进行初始化,如下所示:

Control BTN = new Button();
Run Code Online (Sandbox Code Playgroud)

现在我的问题是,这种初始化的正式名称是什么?

Mar*_*ers 6

根据C#规范,它被称为带有隐式引用转换的简单赋值.

7.16.1简单分配

在简单赋值中,右操作数必须是可隐式转换为左操作数类型的类型的表达式.

...

x = y形式的简单赋值的运行时处理包括以下步骤:

  • ...
  • y被计算,并且如果需要,通过隐式转换(第6.1节)转换为x的类型.

6.1.6隐式参考转换

隐式引用转换是:

  • ...
  • 从任何类型S到任何类型类型T,只要S来自T.