程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 繼承中關於屬性的一些問題(1)

繼承中關於屬性的一些問題(1)

編輯:關於C語言

和類的成員方法一樣,我們也可以定義屬性的重載、虛屬性、抽象屬性以及密封屬性的概念。

與類和方法一樣,屬性的修飾也應符合下列規則:

屬性的重載

●在派生類中使用修飾符的屬性,表示對基類中的同名屬性進行重載。

●在重載的聲明中,屬性的名稱、類型、訪問修飾符都應該與基類中被繼承的屬性一致。

●如果基類的屬性只有一個屬性訪問器,重載後的屬性也應只有一個。但如果基類的屬性同時包含get和set屬性訪問器,重載後的屬性可以只有一個,也可以同時有兩個屬性訪問器。

注意:與方法重載不同的是,屬性的重載聲明實際上並沒有聲明新的屬性,而只是為已有的虛屬性提供訪問器的具體實現。

虛屬性

●使用virtual修飾符聲明的屬性為虛屬性。

●虛屬性的訪問器,包括get訪問器和set訪問器,同樣也是虛的。

抽象屬性

●使用abstract修飾符聲明的屬性為抽象屬性

●抽象屬性的訪問器也是虛的,而且沒有提供訪問器的具體實現。這就要求在非虛的派生類中,由派生類自己通過重載屬性來提供對訪問器的具體實現。

●abstract和override修飾符的同時使用,不但表示屬性是抽象的,而且它重載了其類中的虛屬性。這是屬性的訪問器也是抽象的。

●抽象屬性只允許在抽象類中聲明。

●除了同時使用abstract和override修飾符這種情況之外,static,virtual,override和abstract修飾符中任意兩個不能再同時出現。

密封屬性

●使用sealed修飾符聲明的屬性為密封屬性。類的密封屬性不允許在派生類中被繼承。密封屬性的訪問器同樣也是密封的。

●屬性聲明時如果有sealed修飾符,同時也必須要有override修飾符。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved