C# — 繼承性

謝駿辰
Jason的網頁筆記
Apr 22, 2021
Photo by Tyler Nix on Unsplash

網站已搬家,請到新網站支持我呦> https://jasonhsieh-web.github.io/

今天要介紹物件導向三大特性之一 : 繼承性(Inheritance)

所謂的繼承性,指的就是「物件可以透過繼承,獲得其他物件的屬性與行為」

先想像一下今天我們先規畫一個"車子"的藍圖,比如它有多少油量,前進時會扣多少油量,加油可以加多少油量,像下面這樣!

ok,後我們新增一個toyota的class,當然它也有車子的一些屬性或方法

這時候你可能會增加更多品牌車子的class,例如:BMW,Honda,Ford等等,這時候你可能會想在其中一個class的方法裡面增加一些程式碼,例如在Goahead裡增加前進多少公里,那其他品牌的class就也要加上這段程式碼,因為大家都是車子嘛,這種時候就不是很方便要一個一個加上去.

那這時候繼承性就派上用場了,它可以讓物件繼承其他物件的行為與屬性

好你可能會發現上面兩段程式長的差不多,只差在toyota多了個Connect方法

那我們就可以讓Toyota來繼承Car的屬性以及方法,並且Toyota也有自己的屬性及方法,繼承的方法 Toyota : Car

ex: ClassA繼承ClassB   class A : B { ... }

我們建立一個Toyota的物件,可以看到它的確繼承了Car的方法Goahead

如果同時有好幾個class都具有一樣的方法或屬性,我們就可以用繼承的方式,將重複的程式碼寫在一個class,並讓其他class來繼承它喔!

參考:小山的C#教學

--

--