抽象類與非抽象類
抽象類前有關鍵字abstract,沒有則為非抽象類
宣告格式
public abstract class fly//抽象類要加關鍵字
public abstract void flys();//宣告抽象方法不能有方法體
抽象類不能例項化,必須通過整合由派生類實現其抽象方法,因此不能用new,不能sealed
如果派生類沒有實現所有的抽象方法,則該派生類也必須宣告為抽象類
如果乙個非抽象類從抽象類中派生,則其必須通過過載來實現所有繼承而來的抽象成員
定義:方法前有abstract就被稱為抽象方法,抽象方法不提供任何實際實現
public abstract class class1
}
public abstract class class2: class1//如果派生類沒有實現所有的抽象方法,則該派生類也必須宣告為抽象類
}
注意:抽象方法必須在抽象類中宣告
不能使用static、private或virtual修飾符
方法不能有任何可執行程式,哪怕是方法體{}
重寫抽象方法時採用override
例項1:pow類定義了乙個求冪物件的抽象概念。pow類方法是抽象的,powb類和powc類是pow的具體實現。
class program
}
public abstract class pow
class powb:pow
console.writeline("求冪的結果是" + pow);
}}
class powc : pow
}
抽象類與抽象方法
有些類注定是不能被初始化的,即不能被new 設想一下,乙個animal類下有很多子類,dog,cat,lion等,這些子類都可以被例項化,但是animal如果被例項化後會變成什麼樣?會有什麼特徵?這是難以想象的,因此像animal這樣的父類就不能例項化,我們迫切需要有一種類,只能例項化其子類物件而本...
抽象類與抽象方法
l 抽象類與抽象方法由abstract修飾 l abstract的使用注意 抽象方法沒有方法體 抽象成員只能存在於抽象類中 抽象類可以有非抽象成員 抽象類的派生類必須實現抽象方法體 抽象類只能用作基類,無法例項化 static void main string args public abstrac...
抽象類與抽象方法
抽象類 含有abstract修飾符的class即為抽象類 抽象類可以宣告物件,但不能例項化物件,必須靠子類將方法實現 含有abstract方法的類必須為抽象類 但是抽象類中的方法可以不是抽象的 抽象方法 抽象方法不能例項化,即沒有方法體 沒有 抽象方法在非抽象子類中需全部重寫 抽象方法只能存在抽象類...