一:類的訪問許可權
1,內部類:預設情況下,類的宣告是內部的,即只有當前專案中的**才能訪問它。也可以用internal訪問修飾符關鍵字進行顯示指定。
internalclass
myclass
2,公共類:用public指定類是公共的,即可以在其他專案的**中訪問,但在其他專案中訪問時別忘了用using把命名空間引入。
3,c#裡類及類成員的修飾符有以下五個如下:
public :公開 類及類成員的修飾符 對訪問成員沒有級別限制
private : 類私有成員的修飾符 只能在類的內部訪問,它的派生類也沒有訪問許可權;
protected :類a中定義為protected型別的成員只有在類a中和在繼承類a的派生類中才能進行訪問
//這是錯誤的public
class
action
class
tester
}
public class action2 : action這是對的:
public
class
action
}
}
classtester
}
internal 類a中定義為internal型別的成員可以被類a所在程式集中的任何類的方法訪問;
二:類的型別
1,抽象類(abstract)
抽象類:不能例項化,只能繼承,可以有抽象成員,也可以有非抽象成員,(但是如果有抽象成員的類,該類一定要定義成抽象類)。
抽象類也有公共抽象類和內部抽象類之分;
注意:當抽象類的派生類沒有用 override從寫其方法時,此派生類也要定義成抽象類;不能用呢new來重新抽象類的方法,但可以用new來寫虛擬的方法;
三:類的繼承
1,用sealed關鍵字進行密封(不能被繼承)
2,基類的許可權要比派生類的寬鬆才能被派生類繼承,如:內部類可以繼承公共基類,但是基類不能內部類
//下面程式是不合法,不能編譯的internal
class
classbase
public
class
myclass : classbase
四:類的方法定義
1,五個關鍵字
virtual——方法可以重寫(也叫虛擬方法)
abstract——方法必須在非抽象類的派生類中重寫(中能用與抽象類中)
override——方法重寫了乙個基類方法()
extern——方法定義放在其他地方
sealed——指定這個方法不能由派生類重寫()
Lua 關於類的理解整理
1.lua 是過程式的語言,本身沒有類的概念。但是lua 是用c實現的,本身很多東西可以拓展,類也是一樣的。2.在lua中,有乙個表的東西,本質上是乙個hashmap,key value 鍵值對這種,如果在map中找不到這個值,就會觸發lua表的一套查詢機制,正是通過這個查詢機制,來實現 類 的操作...
C 類 物件資料整理
定義乙個類,本質上是定義乙個資料型別的藍圖。這實際上並沒有定義任何資料,但它定義了類的名稱意味著什麼,也就是說,它定義了類的物件包括了什麼,以及可以在這個物件上執行哪些操作。類有兩個特性 乙個是繼承,乙個是封裝。類定義是以關鍵字class開頭,後跟類的名稱。類的主體是包含在一對花括號中。類定義後必須...
C 類與物件整理
類和物件 1.struct與class唯一區別 在於預設訪問許可權不同 struct為public,class為private 2.構造與析構函式 初始化和清理 建構函式 類名 函式可以有引數,可以發生過載 析構函式 類名 不可以發生過載,析構 將堆區開闢資料做釋放操作。3.類名加 建立乙個匿名物件...