在C#中,我们经常使用初始化语法,基类的实例正在使用其继承的子类进行初始化,如下所示:
Control BTN = new Button();
现在我的问题是,这种初始化的正式名称是什么?
答案 0 :(得分:6)
根据C#规范,它被称为简单赋值,带有隐式引用转换。
7.16.1简单作业
在简单赋值中,右操作数必须是可隐式转换为左操作数类型的类型的表达式。
...
x = y形式的简单赋值的运行时处理包括以下步骤:
- ...
- y被评估,并且如果需要,通过隐式转换(第6.1节)转换为x的类型。
6.1.6隐式参考转化
隐式参考转换是:
- ...
- 从任何类型S到任何类型类型T,只要S来自T。
答案 1 :(得分:3)
我能想到的最简洁的术语是多态实例化或多态初始化。这似乎捕获了必要的元素而没有写出整个句子。但不知道正式的术语。
答案 2 :(得分:0)
这不是基类实例初始化。这是继承的类实例,通过基类类型的变量初始化并引用此实例。你可以称之为assignment value to variable
。没有特别的名字。