Unity3D學習之(抽象類)

2021-06-27 11:32:38 字數 2389 閱讀 5612

首先今天老師帶領我們回顧了一下繼承

(1

)什麼叫繼承:繼承:子類繼承父類用" 

(2

)繼承的格式是:

子類宣告:父類

(3

)繼承都有哪些特徵呢?下面ゝ

. 我們一一道來↓

繼承的特徵:

子類擁有父類的所有屬性和方法(

除構造方法外

)

子類只能訪問父類用publicprotected修飾的屬性和方法

單繼承

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 介面的特性 介面類似於抽象基類,不能直接例項化介面 介面中的方法都是抽象方法,實現介...