第22_4章 将模型转换为Java代码
第 4 章 Transforming Model into Java Code 将模型转换为Java代码 SRS类图中的面对对象特性 在这一章中,我们将执行SRS的一个命令行驱动版本;接下来编写UML图的8个模块类: Course.java Person.java Professor.java ScheduleOfClasses.java Section.java Student.java Transcript.java TranscriptEntry.java 1. Person 类 首先,我们注意到UML框架图中,类的名字是斜体的,由此可知Person是抽象类。 public abstract class Person { Person 类(续) Person类的属性 private String name; private String ssn; Person类的构造函数 public Person(String name, String ssn) { setName(name); setSsn(ssn); } public Person() { setName(?); setSsn(???-??-????); } Person 类(续) Person类的get/set方法 public void setName(String n) { name = n; } public String getName() { return name; } public void setSsn(String ssn) { this.ssn = ssn; } public String getSsn() { return ssn; } Person 类(续) toString() public abstract String toString(); 这个方法确保:所有从Person 类衍生出来的类统一地用它们自己的具体版本覆盖这个抽象方法。 Person 类(续) display() public void display() { System.out.println(Person Information:); System.out.println(\tName: + getName()); System.out.println(\tSoc. Security No.: + getSsn()); } 2. Student 类 继承重用,抽象类扩展,委派 public class Student extends Person { Student类(续) Student类的属性 Student类有以下两种关联: attends, 与Section 类多对多关联 maintains, 与Transcript 类一对一关联 必须允许每个Student对象维持一个Transcript 对象的句柄和多个Section对象的句柄。 因此Student类的属性如下所示: private String major; private String degree; private Transcript transcript; private ArrayListSection attends; // 存放Section对象的容器 如果attends声明为 ArrayList型,我们可以用以下语句来验证一个Student 是否选修了特定的Section: if (attends.contains(someSection)) { ... 1. Student类的构造函数 public Student(String name, String ssn, String major, String degree) { super(name, ssn); setMajor(major); setDegree(degree); setTranscript(new Transcript(this)); attends = new ArrayList(); } public Student(String ssn) {? ? ? ? this(TBD, ssn, TBD, TBD) } 2. Student 的get/set方法 3. display() public void display() { super.display(
您可能关注的文档
- 第11章 饮食与健康.doc
- 第15章基本放大电路--修改.ppt
- 第19章 商标权的对象.ppt
- 第1章 现代密码学概述.ppt
- 第26章 网络地址转换配置实训.ppt
- 第2章 微处理器及其体系结构2.ppt
- 第2章_Struts2核心配置.ppt
- 第6-8章 图论2.ppt
- 第三,四。五章练习题及答案123.doc
- 5G基础建设可行性研究报告.docx
- 2026年黑龙江建筑职业技术学院单招职业适应性测试题库带答案详解.docx
- 二铵市场可行性研究报告.docx
- 2026年宁波卫生职业技术学院单招职业技能考试题库有答案详解.docx
- 2026年台州职业技术学院单招职业技能考试题库附答案详解.docx
- 2026年安徽省芜湖市高职单招职业技能考试题库附答案详解.docx
- 2026年南京交通职业技术学院单招职业技能考试题库有答案详解.docx
- 2026年保定电力职业技术学院单招综合素质考试题库附答案详解.docx
- 宣贯培训(2026年)《HJ T 24-1998500Kv超高压送变电工程电磁辐射环境影响评价技术规范》.pptx
- 宣贯培训(2026年)《HJ 54-2000车用压燃式发动机排气污染物测量方法》.pptx
- 宣贯培训(2026年)《HJ T 25-1999工业企业土壤环境质量风险评价基准》.pptx
最近下载
- 眼科学基础题库及答案.doc VIP
- 子痫前期预测与预防指南(2025) .pdf VIP
- 2023-2024学年江苏省南京市四年级下学期期末数学复习试卷(解析版).pdf VIP
- 陕09J10 地下工程防水.docx VIP
- 东北三省第二课时.pptx VIP
- 2025年企业级安全生产智能体白皮书.pdf
- 2026年广东省公务员考试《申论》(市级卷)真题详解.docx VIP
- 6.2 ”白山黑水“——东北三省 课件(共45张PPT) 2024-2025学年人教版地理八年级下册.pptx VIP
- 最新人教版六年级数学第一学期教学工作计划-(11).docx VIP
- 年处理1500吨乙醇-水筛板精馏塔设计说明书(逐板,仪表,经济)23.7.5.docx VIP
原创力文档

文档评论(0)