unity3D c OOP學習筆記之四(抽象)

2021-09-10 14:35:45 字數 1739 閱讀 1100

抽象類

1語法:用abstract修飾的類即為抽象類.

2特點:抽象類不能建立物件【不能例項化】 可以被繼承!

抽象類中可能包含抽象成員(方法,屬性)

【可以為空,可以沒有抽象成員,可以有抽象成員】

雖然不能例項化自己

但是可以

作為陣列存東西

什麼時候需要使用抽象類

1》 希望做基類,對多個類進行統一管理【類將再分類】

2》 【使用抽象類的根本原因:

需求 分析時找角色找共性時

找的共性中 有欄位;有方法,

方法中有些方法/有些行為,不同子類可能具體實現不同,

父類中的這個行為就

沒必要實現!!

沒必要實現!!

沒必要實現!!

這個行為需要寫成抽象的,從而這個類也要變成抽象類】

囉嗦的抽象類表示乙個抽象概念(資料和行為整體).

表達概念中擁有的共性行為資料.

用於做基類,統一所有子類,管理子類.

什麼時候適合用抽象類

當你需要表示乙個抽象概念時。

當你不希望類建立物件的時候【類 >物件】

當你有行為,但是不需要實現的時候

如果父類中提取共性的行為,不同子類可能具體實現不同,

父類中的這個行為就沒必要實現!!

當你有多個概念,需要一致的管理時

當你有一些行為,在做法上有多種可能時,

但又不希望客戶了解具體做法。

抽象方法

1 定義:只有宣告【定義】,沒有實現的方法 就是抽象方法

有 【頭】(簽名) 無 【體】

2特點:實現類必須實現所有的抽象方法b:a

抽象方法必須放在抽象類中或者介面中

3作用,用途,什麼時候使用抽象方法:

表示的是抽象的行為,是行為的抽象【?】

【需求 分析時找角色找共性時

找到的方法/行為,不同子類可能具體實現不同,

這個行為需要寫成抽象的】

4 放在抽象類中的抽象方法 必須 加abstract 不能私有

實現類實現抽象方法的方法 必須加 override 不能私有

不能標記成虛方法

子類也是抽象,不實現可以嗎?可以!

父抽象 抽象方法,子類 實現為虛方法不可以

注意:抽象方法的重寫 =抽象方法的實現

【了解】

語法:用abstract修飾並且沒有實現的方法.只有方法宣告,沒有實現

抽象方法只能出現在抽象類中

抽象方法在本類中不實現,實現推遲到子類中,

子類必須重寫實現或者為抽象繼續給子類

語義:抽象方法乙個行為的抽象

抽象方法表達抽象行為,只關注本身,不關注行為實現

Unity學習筆記 3

rigidbody 剛體元件,使物體具有重力效果,碰撞 呼叫剛體裡的方法 verctor3 向量,1,0,0 向x的方向施加乙個力 rd.addforce new vector3 1,0,0 得到水平的乙個值,返回 1 1之間的數,相當於a d建 float h input.getaxis hori...

unity 3d學習筆記

1.日誌輸出 如果需要觀測webplayer執行時輸出的log,則可以在初始化start中加上下面這樣一段 但是此日誌檔案太大,過於冗餘 playersettings.useplayerlog true 2.場景切換 3.資源載入 所有通過resources類載入的資源必須放在名為resources...

Unity3D SRP 學習筆記

public class myrenderpipelineasset renderpipelineasset if unity editor 建立管線配置檔案。public static myrenderpipelineasset create 建立管線配置檔案。system.diagnostics...