首先今天老師帶領我們回顧了一下繼承:
(1
)什麼叫繼承:繼承:子類繼承父類用"
(2
)繼承的格式是:
子類宣告:父類
(3
)繼承都有哪些特徵呢?下面ゝ
. 我們一一道來↓
繼承的特徵:
①子類擁有父類的所有屬性和方法(
除構造方法外
)
②子類只能訪問父類用public和protected修飾的屬性和方法
③單繼承
④用sealed
修飾的類不能被繼承
⑤子類呼叫父類的帶引數的構造方法時必須用base,子類構造方法可以不帶引數
⑥子類重寫父類方法時,父類同名方法用virtual
修飾,子類同名方法用
override
修飾⑦子類方法訪問父類同名方法時用base
⑧建立子類物件時,先呼叫父類的構造方法,然後再呼叫子類的構造方法
下面進入今天的正題——抽象類!
一、抽象類
(1
)什麼是抽象類?
答:不能初始化的類被叫做抽象類,它們只提供部分實現,但是另乙個類可以繼承它並且能建立它們的例項。
(2
)怎麼定義抽象類
答:使用關鍵字 abstract
來定義抽象類和抽象方法。
使用abstract
在乙個類宣告中表示該類傾向要作為其它類的基類成員被標示成
abstract
,或被包含進乙個抽象類,必須被其派生類實現。
(3
)乙個抽象類可以包含抽象和非抽象方法,當乙個類繼承於抽象類,那麼這個派生類必須實現所有的的基類抽象方法。但是通過宣告派生類也為抽象,我們可以避免所有或特定的虛方法的實現,這就是抽象類的部分實現。
例如:abstract class myabs
public abstract void abmethod1();
public abstract void abmethod2();
abstract class myclass1 : myabs
public override void abmethod1()
console.writeline("abstarct method #1");
class myclass : myclass1
public override void abmethod2()
console.writeline("abstarct method #2");
class myclient
public static void main()
myclass mc = new myclass();
mc.abmethod1();
mc.abmethod2();
(4
)
不能把關鍵字abstract
和sealed一起用在
c#中,因為乙個密封類不能夠被抽象。
(5
)抽象類的特徵:
①抽象類不能被例項化。
②抽象類可以包含抽象方法和訪問器
③不能把抽象類用密封(sealed)
來修飾,那就意味著類不能被繼承,這樣違反抽象類被繼承的原則。
④抽象類的非抽象子類必須實現其繼承的所有抽象方法和抽象訪問器
⑤通過宣告派生類也為抽象,我們可以避免所有或特定的虛方法的實現,這就是抽象類的部分實現。
學習Unity3D第十七天之抽象類。
歡迎來到 unity學習 unity培訓 unity 企業培訓教育專區,這裡有很多 u3d資源 u3d教程 u3d常見問題 u3d專案原始碼 我們致力於打造業內 unity3d 培訓 學習第一品牌。1 抽象類 含有乙個或多個抽象方法的類稱為抽象類。1 在c 中使用關鍵字 abstract 來定義抽象...
Unity3D學習之剛體
前言 以前從未接觸過unity,今天接觸了unity,對自己的一些疑點做了一下總結,之所以接觸unity,是因為在畢業快實習的時候通過朋友介紹,認識了unity,過程就不說了,言歸正傳,開始我們的學習吧 我們想要完成球體自由落體後撞擊倒桌面 如圖 一般我們給球體乙個剛體屬性,球體自由下落 但我們會發...
Unity3D學習之(介面)
1 介面 介面描述的是可屬於任何類或結構的一組相關功能,所以實現介面的類或結構必須實現介面定義中指定的介面成員。介面使用inte ce 關鍵字進行定義,可由方法 屬性 事件 索引器或這四種成員型別的任意組合構成。2 介面的特性 介面類似於抽象基類,不能直接例項化介面 介面中的方法都是抽象方法,實現介...