2012-06-09 39 views
2

在C#中,我們經常使用的一個初始化的語法,一個基類的實例,其繼承子類初始化是這樣的:將派生類的對象存儲爲基類變量。什麼是OOP術語?

Control BTN = new Button(); 

現在我的問題就是這樣,這是什麼樣的正式名稱初始化?

+0

我不認爲有一個名稱...這只是一個應用程序的繼承。 –

+1

@Thomas,指派一個'Derived'引用到'Base'引用與繼承IHMO有關[多態性](http://www.cplusplus.com/doc/tutorial/polymorphism/)更多。 –

+0

@FrédéricHamidi,upvote,因爲當我輸入我的答案時,你顯然打敗了我對多態的引用。 –

回答

6

根據C#規範,它被稱爲簡單分配隱式參考轉換

7.16.1簡單賦值

在一個簡單的賦值中,右操作數必須是一種類型的隱式轉換爲左操作數的類型的表達式。

...

形式X = Y的簡單賦值的運行時處理包括以下步驟:

  • ...
  • 計算y,並且如果通過隱式轉換(第6.1節)轉換爲x的類型。

6.1.6隱式引用轉換

隱式引用轉換是:

  • ...
  • 從任意類型S到任何類型T,提供S來源於T.
0

這不是基類實例初始化。這是繼承的類實例初始化並且通過基類類型的變量引用這個實例。你可以稱它爲assignment value to variable。沒有特殊的名字。

3

我能想到的最簡潔的術語是多態實例化或多態初始化。這似乎抓住了必要的元素,而不寫一整句話。雖然沒有意識到正式的術語。

相關問題