c#
抽象類總結
1.
解釋什麼是抽象類?
抽象類是包含抽象方法的類。那麼什麼又是抽象方法呢?抽象方法是沒有方法內容的,只有乙個方法名和引數列表的方法。並以;結尾。為了標註他的與眾不同,在他的返回型別前加abstract
。並在class
前加abstract
。
簡言之,由abstract
修飾的方法和類就是抽象的方法和類。
2.
抽象類的特點
①
抽象類只能做父類
②
抽象類不能例項化,既不能用new
來產生屬於抽象類的物件
③
抽象類中除了抽象方法與普通方法不一樣以外,其他的部分和普通類一樣。即抽象類是普通類的特例,他特殊只是有抽象方法。所以它裡面可以有欄位,屬性,普通方法。
3.
抽象方法的特點
①
抽象方法是沒有方法內容的,只有乙個方法名和引數列表的方法。並以;結尾。
②
在方法的返回型別前加abstract
③
抽象方法的內容由他的繼承類根據繼承類自身情況去寫。重寫這個方法時把abstract
替換成override
注意:②③也是抽象屬性的定義和實現的方法
例如:
abstractclassclass1//定義抽象類
protected int age;
protected class1()
protectedabstract void a();//
定義抽象方法
}
class class2:class1
} //
實現方法時他的修飾符只能是範圍比父類大,或是相同
protected
override void a()
static void main() }
4.
抽象類裡的普通方法如果也想在子類中重寫,有兩種方法:
①在父類普通方法的返回型別前寫virtual
,這就告訴系統父類這個方法是虛的方法,在子類中重寫該方法時,在方法的返回型別前可以什麼也不寫,可以寫new
,也可以寫override
,然後子類物件呼叫的方法就是在子類中重寫的方法。
②在父類普通方法的返回型別前什麼都不寫,在子類中重寫該方法時,在方法的返回型別前可以什麼也不寫,可以寫new
。然後子類物件呼叫的方法就是在子類中重寫的方法。
例如:
abstract class c
}
class class1:c
//protected new void b()
//protected override void b()
protected void b()
static void main()
}
抽象類簡單總結 C
抽象類有點忘了,就網上蒐集了一些,方便下次檢視 1 乙個抽象類中可以同時有抽象方法和非抽象方法,也可以同時有抽象屬性和非抽象屬性,但是,有抽象方法或抽象屬性的類一定是抽象類,抽象類中的抽象屬性和抽象方法必須是公有的,因此必須有public修飾符,因為如果是私有的話子類就不 能訪問,無意義,所以一般情...
抽象類和抽象方法總結
抽象類和抽象方法 1 簡述抽象方法的特徵 抽象類不可以建立物件 抽象類可以建立物件 提供給子類呼叫 抽象類可以包含的成員 成員變數 成員方法 靜態方法 構造方法 final修飾的方法 只能被子類呼叫不能被重寫 抽象方法不允許有方法體,只能以分號 結尾 抽象方法只能宣告在抽象類中 含有抽象方法的類必須...
C 介面和抽象類的總結
一 介面的簡單實現 介面更好地實現了多型,體現了約定和實現相分離的原則。通過面向介面程式設計,可以降低 間的耦合性,提高 的可擴充套件性和可維護性。在物件導向程式設計中,提倡面向介面程式設計,而不是面向實現程式設計。面向介面程式設計意味著,開發系統時,主體架構使用介面,介面構成系統的骨架,這樣就可以...