C 入門10 5 抽象類與抽象方法宣告

2021-07-22 04:52:14 字數 934 閱讀 1282

抽象類與非抽象類

抽象類前有關鍵字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方法的類必須為抽象類 但是抽象類中的方法可以不是抽象的 抽象方法 抽象方法不能例項化,即沒有方法體 沒有 抽象方法在非抽象子類中需全部重寫 抽象方法只能存在抽象類...