1、多型:如果子類和父類的方法重名了,會報綠線,如何把綠線去掉?
方法一:可以再子類的方法的訪問修飾符後面加new
方法二:可以再父類的方法上加乙個virtual,然後子類在繼承父類的時候可以用override來重寫父類的方法
2、虛擬成員或抽象成員不能是私有的(virtual、abstract不能與private一起使用),且父類中的方法不能用private或static修飾,重寫基
類方法一樣可以呼叫基類方法
3、如果乙個方法加上了abstract,那麼這個方法就叫抽象方法,同時這個方法所在的類必須用abstract來修飾
4、abstract使用注意:⑴抽象方法沒有方法體⑵抽象成員只能存在於抽象類中⑶抽象類可以有非抽象成員⑷抽象類的派生類必須實
現抽象方法體⑸抽象類只能作用於基類,無法例項化
5、override和overload的區別:過載是方法的名稱相同,引數或引數型別不同,進行多次重
載以適應不同的需要。重寫是重新給基
類中函式寫個方法體
6、用virtual修飾的方法叫做虛方法,虛方法可以在子類中通過override關鍵字來重寫,常見的虛方法有:tostring() equals
7、虛方法和抽象方法比較:
⑴前者用virtual修飾,後者用abstract修飾
⑵前者要有方法體,後者不允許有方法體
⑶前者可以被子類override,後者必須被子類override
⑷前者除了密封類都可以寫,後者只能在抽象類中寫
8、class1 cl = new class1();console.writeline(cl); 直接new乙個類然後列印這個類的例項,結果會顯示這個例項的型別:class1。
當override重寫class1的tostring()方法時,
列印的結果會改變。
9、介面的定義:inte***ce關鍵字,介面中可以有屬性、方法(未實現),通常以「i」開頭,如果乙個類即繼承了類又實現了介面,那麼類
必須寫在前面。乙個類只能繼承乙個父類,但
可以實現(對於介面不說繼承)多個介面
10、c#中的介面和類有什麼異同:
不同點:
⑴不能直接例項化介面
⑵介面不包含方法的實現
⑶介面可以多繼承,類只能單繼承
⑷類定義可以再不同的原始檔之間進行拆分
相同點:
⑴介面、類和結構都可以從多個介面繼承
⑵介面類似於抽象基類,繼承介面的任何非抽象型別都必須實現介面的所有成員
⑶介面和類都可以包含事件、索引器、方法和屬性
黑馬程式設計師 C 基礎篇總結1
1 net framework類庫包含三層 一 web窗體 web service winforms 二 ado.net和xml類 三 基本框架類 2 clr 公共語言執行庫 包含兩層 cls 公共語言規範 和cts 通用型別系統 3 c 語言 msil clr 被執行 4 性別用char,號碼用s...
黑馬程式設計師 C 基礎篇總結3
1 類是物件的型別,通過類產生乙個物件的過程叫類的例項化 2 靜態方法和例項方法 static關鍵字修飾的靜態方法使用類名調出,在靜態方法中可以訪問靜態成員,不可以直接 訪問例項成員 呼叫前初始化。非靜態方法使用例項對 象調出,在實力方法中可以直接訪問靜態成員也可以直接訪問例項成員 例項化物件時初始...
黑馬程式設計師 c 基礎5
黑馬程式設計師 c 基礎5 windows phone 7手機開發 net培訓 期待與您交流!使用構造方法的好處 1對多個屬性賦值時不需要重複寫實力名 2可以保證使用者在new乙個物件的時候必須對某乙個屬性進行賦值 3在建立物件時對唯讀屬性進行初始化就是賦初值也只能賦一次值 當我們定義好乙個類,如果...