文章目录
一、案例中哪里体现出了封装性及其好处?(李彤 202321336069)
在Student类中,每个学生属性(如姓名、学号)都被声明为私有(private),这体现了封装性。以下是体现封装性的代码片段:
private String name;
private String id;
// ... 其他属性
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
好处:
-
数据保护:私有属性确保了外部类不能直接访问和修改这些属性,只能通过公共的getter和setter方法,这样可以防止外部代码对数据的不当修改。
-
灵活性和控制:通过提供公共方法来访问和修改属性,可以在方法内部添加逻辑(例如,验证输入数据的有效性),而不需要修改使用这些属性的其他代码部分。
二、案例中的setter/getter模式与封装性(李彤 202321336069)
- setter/getter模式是一种在Java中实现封装的常用方法。它们是成对出现的公共方法,用于设置(setter)和获取(getter)类的私有属性值。
1.什么是setter/getter?
setter方法用于设置对象的属性值,而getter方法用于获取属性值。
2.有什么用?
它们提供了对私有属性的受控访问,允许类的设计者定义如何修改和访问属性。
3.怎么自动生成?
IntelliJ IDEA可以通过Alt+Insert自动生成
三、案例中某些类的toString()方法(李彤 202321336069)
简述toString方法有什么用?
toString一般应包含什么内容?
toString()方法从哪里来?
- toString()方法在Java中用于返回对象的字符串表示形式。以下是案例中Student类的toString()方法的实现:
@Override
public String toString() {
return "Student{" +
"name='" + name + '\'' +
", id='" + id + '\'' +
// ... 其他属性
'}';
}
1.有什么用?
toString()方法通常用于调试目的,当打印对象或拼接字符串时,它会自动调用,提供对象的详细信息。
2.应包含什么内容?
toString()方法通常包含类中所有重要属性的值,以便快速了解对象的状态。
3.从哪里来?
toString()方法继承自Object类,是Java语言中所有类的超类。因此,所有Java对象都有toString()方法,子类可以选择覆盖(override)这个方法以提供自定义的字符串表示形式。
四、 案例中几个常用方法解析(刘思妍 202321336070)
1.Student:
构造方法名:Student(String name, int age, String gender, String id, String major, double gpa)
功能描述:创建一个新的Student对象,并对其的属性如学生的姓名、年龄、性别等进行初始化
2.StudentManagementSystem:
1.addStudent(Student student、添加学生到列表、无)
2.removeStudent(Student student、将学生移除列表、无)
3.getStudents(无、显示列表、List-Student)
4.searchByName(String name、显示与搜索的姓名匹配的学生、List-Student)
5.searchByMajor(String major、显示与搜索的专业匹配的学生、List-Student)
6.searchByGpa(double gpa、显示与搜索的gpa匹配的学生、List-Student)
五、案例中的面向对象设计(刘思妍 202321336070)
5.1 一段话描述案例所解决的问题。找到其中的名词与动词。
将新来的学生的信息填入列表,可以通过想要搜索的学生的姓名、专业、gpa搜索列表里的学生,将学生移除列表,最后查看列表里有多少的学生。
名词
学生,(列表),姓名,专业,gpa
动词
填入,搜索,移除,查看
5.2 如果让你设计,根据上面的分析你会抽象出什么类?各具备什么功能?
1.学生{
String name;
String major;
String GPA;
}//存储学生的信息
2.学生管理{
属性:List<学生>
方法:增加,搜索,移除,查看
}//管理学生列表,可添加、移除和搜索学生