今天要來談抽象類別(Abstract),它是一種無法具體化的類別,廢話不然為什麼叫抽象,如果要來比喻的話,用老闆來做比喻我覺得很好理解,現在它是一位老闆,而老闆通常底下都有很多人,老闆通常只會要的是一個結果但是具體上如何做到他不會管,所以通常老闆只會丟出一個沒有具體化的概念,要底下人想辦法去達成,而這個概念就是抽象類別,本身是有一定的規範,其他的人必須要繼承它並且需要跟著它的規定走,而跟其他類別最大的不同是它不會實作方法,而是要由其他子類別來覆寫,如果子類別沒有覆寫會編譯上出錯,還有一點是無法生成物件,其他子類別需要用時只能用super做呼叫。
下面是簡單實作:
Score 就是一個抽象類別 分別由 AvgScore WeightAvgScore 去繼承並且實作抽象方法
可以看到avg , avg2 都使用抽象方法,最後印出結果