学习进度
二维阵列与记忆体位置複习
物件导向
物件导向的三大特性(封装、继承、多型)
封装性的特色与使用
物件的类别、方法、属性、建构子与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.印出所有书籍