抽象類和密封類
在定義類時可以使用abstract關鍵字宣告這個類是抽象的。抽象類不能被例項化,即不能建立抽象類的例項。抽象類的主要作用是充當其他類的基類。
密封類的概念剛好與抽象類相對,這種類不能充當別的類的基類。「密封」的概念是不可以從這個類派生出別的類。在定義類時用sealed關鍵字指明類是密封的。
下面宣告兩個類,乙個抽象類,乙個密封類。
1public
abstract
class
shape //抽象類25
6public
sealed
class
rectangle:shape //密封類
7
如果違反抽象類和密封類的規定,試圖建立乙個抽象類的例項或是試圖從乙個密封類派生出另外乙個類,都會受到乙個編譯錯誤。
抽象類中可以包含一種特殊的方法即抽象方法。抽象方法只有方法簽名,沒有方法體。宣告抽象方法的語法如下:
訪問修飾符 abstract 返回值型別 方法名(引數列表);
抽象方法只能包含在抽象類中,而且派生類必須重寫父類中的抽象方法。抽象方法不能不含方法體,甚至不能包含大括號{},必須在引數列表後面直接跟分號。
1public
abstract
class
shape25
6public
sealed
class
********:shape714
15public
override
double
calculatearea()
1619}20
public
sealed
class
rectangle:shape
2128
29public
override
double
calculatearea()
3033}34
35public
sealed
class
circle:shape
3642
43public
override
double
calculatearea()44
47}4849
static
void main(string
args)
5062
63static
void
printarea(shape s)
6468 }
執行結果
這個圖形是: shapeexample.********這個圖形的面積是:
75這個圖形是: shapeexample.rectangle
這個圖形的面積是:
150這個圖形是: shapeexample.circle
這個圖形的面積是:
314.159265358979
C 基本語法學習(九)
c 中的介面 在c 中介面是一組公共方法或屬性的集合。介面可以被其他介面或是類繼承,但不能被例項化。1 介面中包含的屬性和方法都是公共的,不是繼承或是私有的。事實上,在c 中定義介面中的成員時,不允許顯示指定介面成員的可訪問性,而是自動預設為公共的。2 介面中只能包含普通方法或屬性,而不能包含其他內...
c 語法學習
迴圈和關係表示式 for迴圈 表示式和語句 遞增和遞減,字首式效率更高 組合賦值操作符 復合語句 逗號操作符 關係操作符,和 while迴圈 typedef工具 dowhile迴圈 get 字元輸入方法 檔案尾條件 巢狀迴圈和二維數值 strcmp a,b 判斷兩個字串是否相等 cin如何處理字元輸...
C 基礎語法學習
基本用語區分 解決方案和專案 解決一類問題的方案。比如要建一套房子是不是要有一套解決方案,那是不是要把該方案分解成幾個小專案,如設計,裝修,水電安裝,材料運輸等專案 c 和.net net 是一種平台一種技術,裡面包含著乙個非常大的 庫 可以模擬成 jvm c 是一種語言,我們可以使用c 去呼叫.n...