什麼是抽象類、介面、普通類呢?
抽象類:在程式設計語句中,把用abstract關鍵字修飾的類稱為抽象類。抽象類是不完整的,只能作為基類。一般用來進行型別隱藏和充當全域性變數的角色。
abstract class animal
介面:宣告時用inte***ce關鍵字,將隱式公共方法和屬性結合起來,以封裝特定功能的乙個集合。
inte***ce animal1
普通類:
class animal2
}
那麼每個類都可以有什麼成員呢?
抽象類:
① 抽象成員:就是使用了abstract修飾符。包括方法、屬性、索引、事件
② 非抽象成員,沒有使用abstract關鍵字的。(方法、屬性、索引、事件)
抽象成員的特點:
① 抽象方法用abstract關鍵字修飾。(抽象方法就是用abstract修飾的方法)
② 抽象方法不需要寫方法體,也就是說只要方法的名字就可以。
③ 繼承了抽象成員所屬的抽象類後,必須重寫父類所有的抽象成員,除非子類也是抽象類。
④ 抽象成員只能在抽象類裡面。
⑤ 抽象成員的修飾符不能是private。
⑥ 抽象方法不能用static修飾
介面:
介面成員:包括方法、屬性、索引、事件。
介面成員定義的特點:
① 不能使用訪問修飾符(public,private,protected等),所有成員都是公共的。
② 介面沒有方法體
③ 介面成員不能定義字段
④ 介面不能使用關鍵字static、virtual、protected、sealed修飾
抽象類和介面的特點
抽象類:
① 不可以例項化
② 可以包含抽象方法和抽象訪問器
③ 不可以用sealed修飾符修飾,因為和abstract修飾符是相反的。sealed修飾的類不能繼承,而abstract修飾的類可以繼承
④ 繼承該類的類必須把裡面的抽象成員全部重寫。除非是抽象類
介面:
① 不可以例項化
② 支援多繼承
③ 只能定義行為
④ 只包含方法、屬性、索引器和事件的簽名。方法的實現是在實現介面的類中完成的
介面和類的異同點
不同點:
① 不能化介面
② 介面沒有方法的實現
③ 介面可以多繼承,但是類只能單繼承
④ 類定義可以在不同的原始檔之間進行拆分
相同點:
① 介面和類還有介面都可以從多個介面繼承
② 介面類似於抽象類:繼承介面的任何非抽象型別都必須實現介面的所有成員
③ 介面和類都可以包含事件、索引器、方法和屬性
介面和抽象類的異同點
普通類,抽象類,介面
抽象類和普通類 抽象類的作用是提供一種模板,增加 的重用性。例如 寫乙個person類。對於普通類 public class person public void eat 這裡person類有名字,年齡屬性,還有乙個介紹職業的方法,假如現在要寫乙個學生類,學生也是人要繼承person。class s...
介面之間繼承 抽象類普通類繼承關係總結
1 介面與介面之間可以繼承。只能使用new 寫new時無意義,因為介面本來就不實現方法 或不重寫介面,但是無法使用override virtual等具有具體實現的關鍵字。2 抽象類中的抽象方法不能使用override virtual等具有具體實現的關鍵字。3 抽象類中的抽象方法,子類繼承後,必須ov...
普通類,靜態類,抽象類和介面
普通類 可以例項化就是new乙個,可以被繼承,有預設的構造方法即使不寫出來。靜態類 不能例項化,不能被繼承,沒有預設的構造方法,但是有靜態構造方法作用是給靜態屬性賦值。抽象類 不能例項化,只能被繼承,被繼承的時候子類必須實現抽象類中的抽象方法。介面 可以被呼叫,可以被繼承。抽象類和介面其實很像,但是...