什麼是抽象類?簡單來說,由abstract類修飾的類就是抽象類,如:abstract class 類名,這就組成了抽象類。
抽象類的特點:
抽象方法:同樣,用abstract修飾的方法就是抽象方法,抽象方法既然是方法,就得遵從方法的共性:被定義在類中,但由於它是抽象的,所以只能定義在抽象類中
抽象方法有個特點:
相信經過我的忽悠,大家已經頭暈腦轉了,下面我就從基本性質來講講抽象類到底有啥用昂從性質出發:抽象類中不能例項化物件,抽象類中的抽象方法在被繼承時必須重寫(抽象類繼承抽象類除外,這種情況一會單說昂),這句話就是抽象類的作用了,就是被繼承用的,就是要重寫重寫抽象類中的方法用的
舉個例子:
abstract
class
animal
class
dogextends
animal
}class
catextends
animal
}class
main
}
當我們執行,控制台結果如下:
bark bark
meows
上面我們建立了乙個動物類(抽象),動物類中有方法makesound,但每個動物的makesound方法都不同,我們不能讓所有的動物放出一樣的叫聲,所以我們就要強制重寫抽象類animal中的方法,如此以來dog實現了自己的makesound方法,cat也實現了自己的makesound方法.
通過這個例子我們可以總結出抽象類的作用之一 :通過被繼承而實現某種功能
public
abstract
class
shape
但由於任務過多,你需要把任務分給張三乙個,所以張三負責編寫圓的周長的方法:
public
class
circle
}
李四也有自己的任務:
public
class
********
}
同樣,王五也是…
大家每個人都有自己的任務,並且任務的名稱都很明確就是getpremier,所以幹起來也比較省心,不用乙個人寫大量**了,**實現了分層,結構也很清楚
,命名也很規範,避免了自己胡亂命名的風險。
由此我們總結出了第二個好處:
增加**規範,使**易於閱讀
抽象類 抽象方法
抽象類 1.類名前有abstruct修飾。有構造方法。在建立抽象類的子類的時候,還是會先建立抽象父類的物件的。2.抽象類不能例項化是指不能手動的new。抽象方法 1.抽象方法 沒有方法體且需要用abstruct關鍵字修飾 作用 需要改變的地方都應該是抽象。抽象方法只能存在於抽象類或介面中。2.有抽象...
抽象類,抽象方法
1 抽象類中可以有實現的方法。抽象方法必須在抽象類中。using system using system.collections.generic using system.linq using system.text namespace test 抽象類可以包含抽象屬性 public int age...
抽象類 抽象方法
抽象方法 使用 abstract修飾的方法,只有方法的宣告 沒有方法體 定義的是一種 規範 就是告訴子類必須要給抽象方法提供具體的實現 抽象類 包含抽象方法的類就是抽象類 通過abstract方法定義規範 然後要求子類必須定義具體實現 通過抽象類 我們就可以做到嚴格限制子類的設計 使子類之間更加通用...