virtual abstract override new 幾點學習

自由精靈發表於2014-09-17

1、Vitual方法和普通方法區別為:繼承其的子類可以用override/new在過載此方法,也可以不過載其方法,有方法體(可以寫語句),override修飾則呼叫子類方法
2、abstract類中抽象方法無方法體(只有名稱)、普通方法(靜態方法,無修飾的方法,Virtual方法)可以有方法體,其他類的基類,繼承其的子類必須實現所有抽象方法
3、abstract類無法例項化,可以繼承介面
4、抽象方法是隱式的虛方法,可以被基類修飾為virtual方法
5、抽象方法只能在抽象類中,可以被override,不可以用new
7、Override方法必須和其父類方法具有相同的簽名(函式名、返回值、引數列、訪問許可權 如:public)
8、Override方法無法重寫非virtual方法和static修飾的方法
9、Override方法不能用此修飾符:new static virtual abstract
10、sealed類(密封類)無法被繼承 sealed方法必須和override連起來修飾(如:sealed protected override void F(){}),實現sealed方法類的父類必須實現了此方法(存在),密封方法其本身無法再任何派生類中被重寫
11、new 如果父類方法裡面是new 子類必須用new修飾,如果子類是private修飾,則直接呼叫父類的new方法,否則呼叫子類new方法,子類new方法可以重寫父類virtual方法,new方法,override方法,不可以寫抽象方法
12、只有override方法才可以用sealed修飾 //只有重寫方法才能密封

相關文章