學習進度
-
二維陣列與記憶體位置複習
-
物件導向
-
物件導向的三大特性(封裝、繼承、多型)
-
封裝性的特色與使用
-
物件的類別、方法、屬性、建構子與this.
-
存取修飾詞(public、private)
-
物件的初始化
-
間接存取(getter & setter)的使用
-
非存取修飾詞(static、final)
-
補充
-
課後練習
-
長方形的寬、高、周長&面積
-
學生管理系統
-
書與書櫃
-
圖書館
心得感想
期待已久的戰鬥營終於開課了,前一天甚至興奮的失眠,但沒想到第一天的課程就來了一個震撼教育,讓原本對程式充滿自信的我,在前三天學習物件導向就讓我暈頭轉向,常常把類別、屬性跟方法搞混,也不知道建構子該放什麼參數,或是該怎麼呼叫函式,呼叫的到底是位置還是方法,或是該類別該放什麼方法,以及一堆大小寫的區分,我到底是new空間還是陣列,但好險老師放慢步調讓我們充分練習,也謝謝所有為我細心解答的同學,讓我慢慢消化各名詞間的差異與使用原則,終於能理解每個物件彼此該做什麼事情,雖說還需要多加練習才能更上手這禮拜教的內容,但終於能漸漸清楚知道自己在寫什麼。
下週目標
-
物件導向使用順暢
-
縮短寫練習題的時程
課後練習題目
//學生管理系統
// 撰寫一個類別 Student
// Student有四個屬性 座號(int) 班級(String) 姓名(String) 成績(int)
// Student 的方法請自行添加
// 主程式有一個 Student的陣列
// 可以讓使用者選擇功能
// 1. 新增一個學生(空間不夠請使用doubleArr)
// 2. 印出指定"座號"的學生成績
// 3. 依照成績由大到小排序學生
// 4. 依照座號由小到大排序學生
// 5. 更改指定"座號"的學生成績
// 6. 結束程式
//書與書櫃
// 撰寫一個類別 Date
// Date 包含屬性 年(int) 月(int) 日(int)
// Date 需要有設定年/月/日的方法
// Date 的建構子一定要有 年 月 日 三種資料
// 撰寫一個類別 書(Book)
// Book 包含屬性 書名(String) 出版日期(Date) 作者(String)
// Book 的方法請自行視情況添加
// 撰寫一個類別 書櫃(BookShelf)
// BookShelf 包含屬性 書(Book[]) 書總數(int)
// BookShelf 包含方法 void add(書名, 出版日, 作者)
// Book getByName(書名)
// 其餘方法請視情況添加
//撰寫一主程式有以下功能
// 1.讓使用者新增一本書(輸入 書名 作者 年月日)
// 2.查詢指定作者撰寫的所有書籍的詳細資料
// 3.查詢指定書名的詳細資料
// 4.查詢指定出版日的所有書籍的詳細資料
// 5.查詢開始日期~結束日期間的所有書籍
// 6.結束程式
//圖書館
// 新增一功能為修改書的內容
// 選擇後讓使用者選擇查詢方式(書名)
// 查詢到書籍後讓使用者選擇要修改的內容(書名/作者/出版日)
// 修改並寫回書櫃中
// 新增一類別為圖書館
// 圖書館擁有屬性 書櫃(BookShelf[]) 書櫃總數(int)
// 將書櫃的類別改寫 新增一屬性 書櫃編號(int) 書櫃分類(String)
// 新增一指定大小上限(存書量上限)
// 圖書館擁有方法 新增書櫃(書櫃分類, 存書量上限)
// 通過編號尋找書櫃
// 印出指定分類的所有書籍(分類為書櫃分類)
// 新增一本書(書名, 出版日, 作者, 書櫃分類) -> 此函式需要自行查詢擁有該分類的書櫃添加書籍
// 當書櫃已滿 找相同分類的其他空書櫃, 若書櫃全滿 則回傳書櫃全滿
// 主程式需撰寫以下功能
// 1.新增書櫃
// 2.新增書籍
// 3.查詢指定分類的所有書籍
// 4.修改書籍(透過書櫃編號&書名)
// 5.印出所有書籍