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

时间:2012-06-09 17:29:05

标签: c# .net

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

Control BTN = new Button();

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

3 个答案:

答案 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。没有特别的名字。