抽象類那點事兒

2021-10-03 23:50:42 字數 1437 閱讀 8938

什麼是抽象類?

簡單來說,由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方法定義規範 然後要求子類必須定義具體實現 通過抽象類 我們就可以做到嚴格限制子類的設計 使子類之間更加通用...