學習進度
-
第一週的練習小考與檢討
-
課後練習與習題檢討
-
繼承、多型與介面
-
繼承(extends)原則與使用方法
-
父類別、子類別
-
存取修飾詞(protected、default)
-
多型原則與使用方法
-
@Override、super
-
非存取修飾詞(abstract)
-
介面(implements)
-
課後練習
-
封裝-人員管理系統、卡牌遊戲
-
繼承-動物(貓、狗等)、形狀(圓形、長方形等)
-
介面-學生排序、骰子遊戲
**小考題目-撲克牌洗牌
-
課外補充
心得感想
本週課程從封裝進入到繼承&多型,在名詞解釋如修飾詞,以及使用方式滿容易理解的,但在概念上完全更加抽象與難以理解,尤其在加入介面後,原本的封裝性都需要重新思考,一直很難理解為什麼要使用介面,勤奮點多打點CODE就能完成的事,甚至一時間何時可以用繼承何時可以用介面都完全搞混,雖然透過練習勉強知道怎麼使用,但概念上完全不行啊!!聽到下週小考就是針對多型跟介面就知道這週假日注定報銷了,另外這週的練習量大概是上週的一倍,透過大量練習越來越熟悉在打CODE的同時腦海中有個IDE同步思考自己的邏輯步驟,已經漸漸的可以不用邊打邊DEBUG,而且在完成CODE的同時真的滿滿的成就感,也越來越喜歡寫CODE,每次專注都好像進入精神時光屋,一眨眼就過好幾個小時,跟以前上班就是打發時間等下班的生活完全天壤之別,加上很喜歡跟班上同學的互動,很喜歡彼此互相照應,還可以聊天打屁的感覺,完全不會有衝刺班那種高壓的氣氛(可能只是一開始?),在這完全是一個溫馨學習寫程式的地方,也讓我越來越期待結業後的自己會變得怎樣!
下週目標
-
更加熟悉繼承、多型與介面的應用
-
理解多型與介面之間的邏輯
課後練習題目
題目太多,就不一一貼上
//請撰寫一個程式 功能如下:
//有一個類別 Animal 類別中至少有 name(String) weight(float)
//有一個類別Dog繼承至Animal
//有一個類別Cat繼承至Animal
//有一個類別Mouse繼承至Animal
//請撰寫一個類別為 AnimalArray 並實現以下功能
//可以新增一個動物(於尾端)
//可以插入一個動物(於指定位置)
//可以刪除一個動物(指定位置)
//可以依照動物的姓名排序動物(String compare)
//可以依照動物的體重排序動物
//可以按當前array中的順序印出所有動物
//可以依照指定姓名查找動物(只會有一個)
//可以依照指定字母開頭找出相同字母開頭姓名的動物(會有多個)
//可以依照體重的大小(min~max)篩選動物
//可以依照動物的種類篩選動物
//1.撰寫一個程式實現以下功能(使用介面完成)
//A.請撰寫一個類別DiceGame
//i.創建DiceGame時可以指定要使用的骰子數量、獲勝的規則、進行回合數
//ii.骰子數量必須為 3~6
//iii.進行回合數必須大於0且為奇數
//iv.獲勝規則有 點數大者勝、點數小者勝、相同點數多者勝
//B.請撰寫一個主程式依照以下流程執行
//i.讓使用者指定骰子數量(3~6)
//ii.讓使用者選擇獲勝規則(1~3)
//iii.讓使用者選擇進行回合數
//iv.進行遊戲並顯示最終勝利者
//v.重新回到B-i步驟
//備註:
//1.骰子數量、獲勝規則、進行回合數皆必須為DiceGame的屬性
//2.玩家數量永遠為2,請寫死於DiceGame中