【中低階級】-[物件導向]-三大特性-繼承

閱讀時間約 5 分鐘
二、繼承(inheritance)
  繼承就是假如A(子)類別去繼承B(父)類別,那麼A(子)類別可以直接去使用B(父)類別非私有的屬性和方法,但是A(子)只能繼承一個B(父)類別ㄛ!
  一樣的道理可以比喻為:爸爸跟小孩之間的關係。小孩可以去運用爸爸的資源,但是爸爸的工作屬於他自己的不能跟小孩一起分享,雖然小孩可以使用爸爸的資源,但是理論上只會有一個爸爸,不可能有其他爸爸的存在。
在繼承當中父、子類別有個稱呼要知道一下
1.父類別又稱「基底類別」(Base Class)
2.子類別又稱「衍生類別」(Derived Class)
通常我都用父類別、子類別來稱呼。子類別除了可以使用父類別的屬性和方法外,還可以擴充與修改父類別的行為哦!會用到之後會再提到override(覆寫)相關的功能,例如:virtual(虛擬)、abstract(抽象)等等相關宣告會用到的詞。
  也就是說小孩可以直接學習爸爸的能力外,還可以擴充自己的能力,甚至是將爸爸的能力學好後再優化變成現在的資訊科技化,譬如:爸爸會將客戶資料一筆一筆寫入到筆記本中,那小孩就學會這能力後又更上層樓直接建立資料庫做管理,這樣在管理上就方便多了。這樣是不是小孩的能力擴充了一項技能就是建立資料庫,並且也修改了爸爸平常用紙筆傳統式紀錄變成到電腦上做key in的動作了呢?
好啦!理論太枯燥乏味直接來看看程式好了,到底是怎麼運行的呢?
Step1建立父類別
Step2建立子類別
Step3 介面設計 與 主程式撰寫
Step4 程式執行
繼承所呈現的語法會是
class B
{
  父類別的敘述;
}
class A:B
{
  子類別A繼承父類別B的敘述;
}
來看一下實際例子

實際例子1.無使用建構函數

父類別(無建構函數)
子類別(無建構函數)
主程式(無建構函數)
執行結果(無建構函數)
說明:
1.【ClassAnimal是父類別】:把共同有的「屬性欄位」與「方法動作」都在這裡做宣告
(1)第13-14行:動物共同會有的動物名字name、動物年齡age,因為未使用建構函式,因此在宣告時就做公開public大家都可以使用
(2)第15行:想交給子類別去做設計要做什麼動作又必須要有動作時可以使用abstract(抽象),看到abstract(抽象)就是子類別就一定要去做覆寫,因此使用abstract(抽象),就要將這個父類別前面多加一個abstract(抽象)的修飾詞。
(3)第17-20行:父類別做的事就是傳回字串(顯示字串)「開始說話」

2.【classDog是子類別】:因為要繼承父類別,因此在classDog後多加入「:ClassAnimal」
(1)第11行:這邊的宣告是屬於classDog的欄位,假若有另外建一個classCat的子類別,它的父類別一樣也是ClassAnimal的話,classCat就無法使用classDog類別的kind欄位
(2)第13-16行:這是要去覆寫父類別的Action()方法,classDog類別做的事就是傳回字串(顯示字串)「我正在走路」

3.【主程式】:先在介面上新增一個button和label,觸發方法為按下此button(顯示繼承文字的按鈕)後執行程式
(1)第63行:建立一個classDog類別格式的物件,命名為dog
(2)第64-66行:那麼dog可以使用它的父類別所定義的欄位(也就是name、age),也可使用它自己所定義的欄位(kind)
(3)第67-68行:利用label顯示結果,dog.Talk()、dog.name、dog.age是因為dog有繼承父類別,因此可以使用父類別的方法。dog.kind是屬於dog本身定義本來就可以使用,dog.Action()雖然有繼承父類別的方法但是因為需要覆寫,引此取得的資料會是dog類別中所做的事。

4.【執行結果】:可以跟主程式label所寫的內容相對應。

實際例子2.有使用建構函數

父類別(使用建構函數)
子類別(使用建構函數)
主程式(使用建構函數)
執行結果(使用建構函數)
說明:
1.【ClassAnimal是父類別】:
(1)第30-33行:變動的地方只有欄位部分改成建構函數的參數,裡面的敘述(也就是大括號{ } )可以不用寫
(2)其他abstract抽象方法和Talk()這個方法就不用變

2.【classDog是子類別】:
(1)第28-33行:因為要接父類別的參數,所以在使用建構函數的時候語法為:
public 類別名稱(參數):base(父類別的參數)
那麼父類別的參數變數就把它一模一樣寫過來,接著再將這些參數放入到子類別的參數中去也是要寫一模一樣的參數哦!若想要在此類別增加其他參數也可以,就如同string Kind。
(2)第24-26行:由於想要將參數在此類別中使用,那就在此做宣告,便可以在第28-33行取得傳入的內容值
(3)第38行:Action顯示內容部分呢!就可以從取得的內容值賦予給此類別宣告的變數上直接做使用即可

3.【主程式】:
由於內容值都要傳到類別去使用,因此主程式只要將內容值輸入到建立物件的類別參數中後,接下來就動用方法即可,不用還要再個別輸入內容值,故主程式會簡短許多。

4.【執行結果】:可以跟主程式label所寫的內容相對應。
※可以先從父類別看到程式執行結果後,再從執行結果往回看到父類別,這樣應該就可以更懂的是怎麼樣運行的。自己也一定要操作看看ㄛ!多操作幾遍多看就會熟了。

為什麼會看到廣告
19會員
41內容數
Hello~ Welcome to my blog~❤ 這邊會分享我在程式這條道路中的學習與成長, 過程中從而了解自己的不足,再學習。 希望透過分享的方式, 也讓正在學習程式的夥伴們一起學習, 我們一起加油吧~ 「彼此都會成為彼此之間的影響力」(´,,•ω•,,)♡ ❣
留言0
查看全部
發表第一個留言支持創作者!
你可能也想看
善待身邊的低階眾生吧!因為,總有一天他們也會轉生為人...如果你曾凌虐身邊的低階眾生,那麼,你要有心理準備,因為總有一天他們會轉生為人,被殺生者來索命,被凌虐者來找麻煩,不管你逃到天涯海角,或是能逃過今生,終究要償還業報。 我在這裡所說的低階眾生,不只是指困在畜牲色身的狗貓牛羊魚蝦,也指那些剛剛從畜牲道,轉生為人的弱勢族群。
avatar
吳九箴
2024-04-17
遵守1飲食習慣,死亡率低15%!揭開日本人健康長壽的6個秘密。日本人享有世界公認的健康長壽生活,背後隱藏著一系列的生活和飲食習慣。 研究表明,僅僅遵循一項特定的飲食習慣就能使死亡率降低15%。 那麼,是什麼秘密讓日本人能夠健康長壽呢? 以下是揭開日本人健康長壽的六個秘密。 ### 1. 高攝取海鮮 日本是一個島國,海鮮是日本飲食中的重要組成部分。 富含
Thumbnail
avatar
健康Hello
2024-03-17
【1124盤前新聞】歐元區商業疲軟 增加經濟衰退可能;美禁令影響 中國高階AI伺服器明年出貨比低於4%*歐元區商業疲軟 增加了經濟衰退的可能性 *美禁令影響 中國CSP高階AI伺服器明年出貨比低於4% *10月工業生產指數連17黑 製造業表現兩樣情 *10月批發零售業營業額降0.9% 零售、餐飲業則表現亮眼
Thumbnail
avatar
Miller
2023-11-23
乖乖隆地咚 警匪皆走鐘:讀《低智商犯罪》     此書用較為詼諧嬉鬧的手法呈現劇情。講述為了調查起獲貪贓枉法的三江口盧局長失蹤案,而從中央空降神探來辦案的張一昂刑警,如何在人生地不熟又敵我不明的情況下,能急中生智、吉星高照、否極泰來,乍看不按牌理出牌或恣意妄為,卻能接連破獲重大刑案,擄獲眾人信任的推理喜劇。  
Thumbnail
avatar
閱讀不孤單:田羽心的私房書單
2023-11-08
【職場點滴】彩蛋特別容易找上我~面試前中後三階段遇到的奇人異士談到面試這件事,我可能真的有很多甘苦談可以分享給大家。發表《面試不成的12個原因(上)最好是不符所需啦!》及《面試不成的12個原因(下)被當分母了》兩篇文章後,受到不少的關注,我決定再來分享跟面試有關的三個彩蛋。 面試是每個上班族都會遇到的。本文這三個彩蛋,或許你可以稱之為經典、離譜、不專業⋯⋯
Thumbnail
avatar
JC Talks
2023-07-31
【法說逐字】22Q3 巨大法說會逐字稿:中低階車銷售緩、零件庫存高;中高階車零件缺料、供貨不順;需求恢復常態、長期不看淡近期巨大展延票期風暴,引發市場關注庫存與現金流問題。 11/23法說會,巨大稱,雖然中低階車銷售緩、零件堆高,但中高階車仍強,且中國解封、市場復甦,有望消化中低階車款。 下半年中低階車搶貨潮不再,毛利率、營益率同降;中高階車則面臨零組件缺貨、出貨不順,無法回到2018年常態。
Thumbnail
avatar
羊羽的財經備忘錄
2022-12-19
【法說逐字】2022 Q3 桂盟法說會逐字稿:Ebike鏈條年增30%、匯率及原物料改善、品牌優勢、中低階品及庫存問題重點先行: Ebike鍊條技術門檻高,前三季年增30%,搭配chainring可組自行車系統、合併銷售。高階品成長動能看好。 從傳統零件製造商,到佈局品牌服務,目前在歐洲、北美有多間銷售據點搶市,有品牌護城河。 原物料、匯率不利因素淡化,助推毛利率。但中低階產品庫存修正持續,需留意後市。
Thumbnail
avatar
羊羽的財經備忘錄
2022-11-28
臺企銀、遠東銀,低價純銀行股的階段更新&長線持股小說明。2022年9月23日因為有部分讀者可能沒跟上個人的思路,所以再寫此篇完整交代個人這波低價純銀行股思考過程的轉折。 首先,不管節奏是否跟上,都請不用擔心,低價純銀行股個人一直以臺企銀、遠東銀為例子的主因,在於節奏即使不同,反應時間都會相當充足,不會有那種差個一天,就有天堂地獄之別的情況發生。
Thumbnail
avatar
gnikis
2022-09-23
我們的肉身是低階的有機載具,也是覺修的最大業障? 當我們的靈識經過「隔陰之迷」,六識七識的記憶被完全清空後,從出生的那一刻起,我們就已經是低階肉身的「奴隸」了。 因為,人類童年期的「五蘊」,都是以「生物層次」本能架構起來的「意識作業平台」,等到了青少年和成年,大部分凡夫就會因此產生「身見我執」...
Thumbnail
avatar
吳九箴
2022-04-24