iT邦幫忙

0

{CMoney戰鬥營} 的第二週 #多型與介面

雜記

  這是情緒十分起伏的一週,首先花了大約一天的時間在考試及檢討,經過上週密集的練習在包好多層的物件間轉換後,已經有一定的熟悉度了!有種在做機械式重複工作的無奈感: "我一定會,只是需要時間,好繁瑣、好無聊啊..."
  沒想到在花了兩三個小時帶入新的「抽象類別和介面」的內容後,有趣度和難度就被莫名的提升了。好像聽懂了什麼,但換個方式想要使用差不多的概念時好像又卡住了;好像怎麼樣都可以,但到底怎麼樣比較好?好像應該越做越熟捻的,和同學們互相討論後卻好像更模糊了...那些我們練習過的題目,好像擁有了新的靈魂,可以在重新實作一次了!明明這週只有四天的,經過一天有點厭世的無奈時光,另外的三天卻出乎意料的充實的過完了!

課程筆記

繼承與多型

  • Java 語言中沒有多重繼承
  • 使用"extends",不同類別間可以有父子(繼承)關係
  • 子類別必須是父類別的延伸或修改,父類別有的屬性和方法,子類別也必須有
  • 類別中如果不希望子類別改寫的屬性或方法可加入"final" 修飾
  • 子類別當然可以有子類別才有的屬性或方法
  • 創建父類別的物件時,可以存放子類別的實體,但只能使用父類別擁有的方法和屬性
  • 父類別的物件存放不同子類別的實體時,稱為『多型』
  • 透過多型,因為子類別可以改寫相同名稱的方法的實作內容,方法中引數若為父類別的物件,可以透過呼叫方法時傳入不同實作內容的子類別達到不同的實作方法

抽象

  • 抽象類別: 包含抽象方法(未定義實作內容)
  • 抽象物件無法創建實體
  • 繼承抽象類別的子類別必須完成全部的抽象方法,否則必須繼續為抽象類別

介面

  • 僅包含抽象方法的類別
  • 可以被其他類別"implements",則該類別必須實作全部的抽象方法,否則必須為抽象類別
  • 也可以當作方法的引數被傳遞,讓介面中相關方法的實作方式延遲到[以後才定義]

尚未有邦友留言

立即登入留言