[JAVA] 项目案例作业2:对案例进行面向对象分析

项目案例作业2:对案例进行面向对象分析



前言

使用自己已经学习的面向对象知识,针对学生管理系统编写简易面向对象分析报告。

报告可分为如下几个部分:


1. 案例中哪里体现出了封装性及其好处?

封装性:体现在Student类中,通过private变量(如name, age, gender, id, major, gpa)和public的setter/getter方法来体现。

好处:通过private变量,外面的代码不能直接访问或修改代码本身对象的内部状态,只能通过public的setter/getter方法进行,这可以保护数据的安全隐蔽。且public的setter/getter方法给外部代码提供了明确的接口,有利于外部代码与对象之间的联系。

2. 案例中的setter/getter模式与封装性

2.1什么是setter/getter?

Setter和Getter是Java中用于访问和修改对象private变量的两个方法。Setter方法用于设置成员变量的值,Getter方法用于获取成员变量的值。

2.2有什么用?

通过Setter和Getter方法来实现代码的封装性。

2.3怎么自动生成?

在IDE中,可以通过快捷键或菜单选项自动生成setter和getter方法,可以通过Alt + Insert快捷键,然后选择Getter and Setter或者Constructor来自动生成。

3. 案例中某些类的toString()方法

3.1简述toString方法有什么用?

toString()方法用于返回对象的字符串表示形式。

3.2 toString一般应包含什么内容?

toString()方法一般应包含能够唯一标识对象或描述对象状态的信息。在案例中,Student类的toString()方法包含了学生的姓名、年龄、性别、ID、专业和GPA,描述了一个学生的基本信息。

3.3 toString()方法从哪里来?

toString()方法是Object类的一个方法,Java中所有的类都直接或间接继承自Object类,子类通常会覆盖(Override)这个方法。

4. 案例中几个常用方法解析

1.public Student(String name, int age, String gender, String id, String major, double gpa) 功能描述:构造一个Student对象,并初始化其成员变量。

2.StudentManagementSystem.addStudent(Student student)功能描述:向StudentManagementSystem中添加一个Student对象。

3.StudentManagementSystem.searchByName(String name)功能描述:根据姓名搜索学生,并返回匹配的学生列表。

5. 案例中的面向对象设计

5.1 尝试用一段话描述案例所解决的问题。找到其中的名词与动词。

案例通过面向对象的方式设计了一个学生管理系统,该系统允许用户添加、删除、按姓名、专业和GPA搜索学生,并显示所有学生信息。
名词:“学生管理系统”、“学生”、“姓名”、“专业”、“GPA”;
动词:“添加”、“删除”、“搜索”、“显示”。

5.2 如果让你设计,根据上面的分析你会抽象出什么类?各具备什么功能?

类:
(1)Student
功能:表示一个学生,包含学生的基本信息(姓名、年龄、性别、ID、专业、GPA)以及相关的setter/getter方法。
(2)StudentManagementSystem
功能:管理学生信息,包括添加学生、删除学生、按姓名/专业/GPA搜索学生以及获取所有学生列表。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值