当前位置: 首页 > news >正文

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

对案例进行面向对象分析

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

答:1)Student 类将 name 和 grade 声明为 private 私有属性,外部无法直接访问,只能通过 setter/getter 方法操作。
2)StudentManagement 类封装了学生创建的业务逻辑,隐藏了具体实现细节。
好处是:1)可以防止外部直接修改对象内部状态;2)业务逻辑与输入输出分离,模块化便于后期的维护以及扩展。

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

什么是setter/getter?有什么用?怎么自动生成?

答:setter/getter是类中用于访问和修改私有属性的公共方法。getter 用于获取属性值,setter用于设置属性值。
作用是控制属性的访问权限,实现封装;
在setter中添加数据验证逻辑可确保数据合法性。
自动生成方式:在IDEA中,右键类文件→Source(或Generate)→Generate Getters and Setters,选择需要生成的属性即可自动生成。

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

简述 toString 方法有什么用?
toString 一般应包含什么内容?
toString()方法从哪里来?

答:用于返回对象的字符串表示形式。
通常包含对象的关键属性值,格式要清晰易懂。
toString()来源于 java.lang.Object 类的方法,所有 Java 类都默认继承该方法。默认实现为“类名@哈希值”,通常需要在自定义类中重写以提供有意义的信息。

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

简述案例代码几个常用方法的解析:
类名.构造方法名,功能描述;
类名.方法签名(入参、功能、返回参数),功能描述;
类名.方法签名(入参、功能、返回参数),功能描述。

答:
Student.Student(String name, int grade):
入参:学生姓名(name)、成绩(grade);
功能:初始化 Student 对象的 name 和 grade 属性;
返回:无返回值。

StudentManagement.createStudent(String name, int grade):
入参:学生姓名(name)、成绩(grade);
功能:封装学生创建的业务逻辑;
返回:创建的Student对象。

StuManagementDemo.addStudentMenu(Scanner sc):
入参:Scanner对象;
功能:处理用户输入,调用createStudent创建学生;
返回:创建的Student对象。

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

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

答:
问题:实现一个学生信息管理系统,支持添加学生信息包含姓名和成绩,并区分输入输出逻辑与业务逻辑。
名词:学生(Student)、学生管理(StudentManagement)、菜单(mainMenu)、输入(Scanner)。
动词:添加学生、输入信息、验证成绩、创建学生对象、展示信息。

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

答:
1)Student类:
功能:封装学生的属性(姓名、成绩)及访问方法(setter/getter),重写toString() 用于展示学生信息。
2)StudentManagement类:
功能:封装学生管理的核心业务逻辑(如创建学生、验证学生信息合法性、查询学生等)。
3)StuManagementDemo类:
功能:负责用户交互(菜单展示、输入输出处理),调用业务逻辑类完成操作,实现界面与业务的分离。

http://www.dtcms.com/a/399498.html

相关文章:

  • 锤子助手插件功能七十二:对话内图片「一键添加至表情」
  • 饮食网站开发需求网站开发 面试
  • Deepseek本地部署教程模型怎么选择?按需选择让效率翻倍
  • 企业备案网站服务内容wordpress ajax搜索
  • 自己做网站不推广备案可以不关闭网站吗
  • 12_OkHttp初体验
  • 硅基计划5.0 MySQL 壹 初识MySQL
  • 网站规划建设方案免费微信点餐小程序
  • Ford-Fulkerson最大流算法数学原理详解
  • 湛江做寄生虫网站wordpress修改端口
  • 从技术角度分析 “诺亚参数” 生成式设计工具
  • 做pc端网站代理商广告传媒网站模板
  • All In AI之三:一文构建Python核心语法体系
  • 湖州公司做网站南山龙岗最新通告
  • 南通建设招聘信息网站石家庄网站建设服务
  • 网站配资公司网站网站推荐免费的
  • asp旅游网站模板下载阜新本地网站建设平台
  • DBA 系统学习计划(从入门到进阶)
  • 列出网站目录wordpress正文底部版权声明
  • 网站改版建设 有哪些内容什么叫关键词
  • 郴州网站建设设计制作西安开发网站建设
  • 深度解析:vLLM PD分离KV cache传递机制全解析
  • 六维力传感器和关节扭矩传感器:机器人精准控制的“内外双核”
  • 什么是TCP/UDP/HTTP?它们如何影响你的内网穿透体验?
  • 如何制作大气网站公司变更流程
  • docker概念、安装与基本使用
  • 文件操作的相关知识
  • 网站建设不足之处网站seo案例
  • 卖网站赚钱吗做国外网站翻译中国小说赚钱
  • python爬虫--requests模块