1. 案例中哪里体现出的封装性及其好处?(蔡佳生 202221336025)
student类的属性全用private修饰
保护性和易用性
2. 案例中的setter/getter模式与封装性(蔡佳生 202221336025)
什么是setter/getter模式?怎么自动生成?
外部通过setter修改内部属性值,通过getter获取内部属性值
Ecilipse Alt+Shift+s
IDEA Alt+Insert
3. 案例中某些类的toString()方法(蔡佳生 202221336025)
简述toString()方法从哪里来?toString方法有什么用?toString一般应包含什么内容?
java中的每一个类都继承自Object,Object中有同toString()方法
输出包含对象信息的字符串
对象信息
4. 案例中常见的工具类(蔡佳生 202221336025)
简述案例代码中使用了哪些工具类。
ArrayList 储存多个学生对象
add(int index,E element)将元素插入到指定位置的动态数组中。如果成功插入元素,返回 true。
remove(int index或E element)删除指定下标的元素或删除指定元素
如果传入元素,删除成功,则返回 true。
如果传入索引值,则返回删除的元素。
Scanner 读取用户输入
next() 忽略输入有效字符前的空格,返回的字符串不包含空格,只有输入有效字符后才将其后面输入的空白或回车作为分隔符或者结束符。
nextLine() 以回车为结束符,返回的字符串可以包含空格
5. 案例中的面向对象设计(蔡佳生 202221336025)
5.1 尝试用一段话描述案例所解决的问题。找到其中的名词与动词。
解决了学生管理的问题,包括添加学生信息,删除学生信息,查询学生信息,展示所有学生信息
名词:学生信息
动词:添加,删除,查询,展示
5.2 如果让你设计,根据上面的分析你会抽象出什么类?各具备什么功能?
学生类 储存学生信息 getter/setter
学生系统类 储存多个学生信息 有添加,删除,查询,展示的功能