封裝、繼承、多型
a:封裝:將資料和操作組合到一起,並決定哪些資料和操作對外是可見的。
b:繼承:父類中的變數和行為,子類可以同樣使用。本質是**重用。
c:多型:由繼承引用變數可以指向子型別的物件。
1、封裝
封裝把物件的所有組成部分組合在一起,有三個作用
a:隱藏類的實現細節:使用方法將類的資料隱藏起來。
b:迫使使用者使用乙個介面去訪問資料:定義程式如何引用物件的資料,控制使用者對類的修改和訪問資料的程度。
c:是**更好的維護:類的內部實現改變,對外介面可以不變。
d:用方法來實現封裝:讀方法、寫方法
e:用屬性來實現封裝:屬性是c#引入的一種語音成分,只有很少的語言支援屬性。通過對屬性的讀和寫來保護類中的域。第一種方法體身也是一種好的方式,但用屬性來實現封裝會更方便。(使用屬性的好處:在於物件的使用者可以用一條語句來操作內部的資料。)
2、繼承
繼承提供了建立類的一種方法,繼承對開發者來說就是**共享。
a:通過繼承建立的子類是作為另乙個類的擴充或修正所定義的乙個類。
b:子類從超類(父類)中所有方法和變數。
c:子類和超類之間是特化與範化的關係。
e:語法:子類宣告:父類
f:子類可以使用父類的prtected和pulic可見的變數和方法,就像這些變數和方法是自己定義的一樣。
g:私有成員和方法其實已經被繼承了,但是它們卻不可以被訪問,因為私有成員和方法只能被宣告它們的類中才可訪問,所以看上去像是沒有被繼承。
h:c# 中,如果類宣告時沒有宣告父類,那麼預設為object 類的子類。c#中的所有類都是system.object類的子類。
i:c#中,子類只能繼承乙個父類,但乙個基類可以有多個直接派生類。繼承是可以傳遞的
3、你們說能夠阻止某個類被其他類繼承嗎?
答案是可以的,c#提供了乙個sealed 修飾符,此修飾符會阻止其他類從該類繼承。
4、方法隱藏
如果子類方法的方法名和基類的方法名相同時,系統將隱藏基類同名方法,自動呼叫子類的同名方法
今天就到這裡明天繼續更新謝謝關注!
謝謝大家!精彩繼續!
Unity3D 封裝 繼承
今天先簡單的複習下封裝 封裝 將資料和操作組合到一起,並決定哪些資料和操作對外是可見的。封裝把物件的所有組成部分組合在一起,有三個作用 1.隱藏類的實現細節 使用方法將類的資料隱藏起來。2.迫使使用者去使用乙個介面去訪問資料 定義程式如何引用物件的資料,控制使用者對類的修改和訪問資料的程度。3.使 ...
Unity3D開發(九) Unity3d流光效果
遊戲開 壇 hello game 遊戲開發群 201276069 之前曾經注意過material 中紋理的屬性都有 tiling 和offset 但沒有深究過其用途,今天才知道竟然可以利用 offset做uv 動畫,從而完成各種有趣的動畫,比如流光效果!流過效果即通常一條高光光在物體上劃過,模擬高光...
Unity3D學習基本知識,繼承
uinty3d學習基本知識,繼承 今天大家一起來學習一下c 中的繼承類 1.繼承 1 繼承提供了建立新類的一種方法,繼承對開發者來說就是 共享。2 通過繼承建立的子類是作為另乙個類的擴充或修正所定義的乙個類。3 子類從超類 父類 中繼承所有方法和變數。4 子類和超類之間是特化與範化的關係。2 子類的...