欢迎来到天天文库
浏览记录
ID:57015010
大小:963.00 KB
页数:77页
时间:2020-07-26
《将模型转换为Java代码课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第4章TransformingModelintoJavaCode将模型转换为Java代码SRS类图中的面对对象特性2在这一章中,我们将执行SRS的一个命令行驱动版本;接下来编写UML图的8个模块类:Course.javaPerson.javaProfessor.javaScheduleOfClasses.javaSection.javaStudent.javaTranscript.javaTranscriptEntry.java31.Person类首先,我们注意到UML框架图中,类的名字是斜体的,由此可知Person是抽象类
2、。publicabstractclassPerson{Person4Person类(续)Person类的属性privateStringname;privateStringssn;Person类的构造函数publicPerson(Stringname,Stringssn){setName(name);setSsn(ssn);}publicPerson(){setName("?");setSsn("???-??-????");}5Person类的get/set方法publicvoidsetName(Stringn){name=n
3、;}publicStringgetName(){returnname;}publicvoidsetSsn(Stringssn){this.ssn=ssn;}publicStringgetSsn(){returnssn;}Person类(续)6toString()publicabstractStringtoString();这个方法确保:所有从Person类衍生出来的类统一地用它们自己的具体版本覆盖这个抽象方法。Person类(续)7display()publicvoiddisplay(){System.out.println
4、("PersonInformation:");System.out.println("tName:"+getName());System.out.println("tSoc.SecurityNo.:"+getSsn());}Person类(续)这个方法将以下面的形式引用多次:super.display()82.Student类继承重用,抽象类扩展,委派publicclassStudentextendsPerson{Student9Student类(续)Student类的属性Student类有以下两种关联:attends,
5、与Section类多对多关联maintains,与Transcript类一对一关联必须允许每个Student对象维持一个Transcript对象的句柄和多个Section对象的句柄。10因此Student类的属性如下所示:privateStringmajor;privateStringdegree;privateTranscripttranscript;privateArrayListattends;//存放Section对象的容器如果attends声明为ArrayList型,我们可以用以下语句来验证一个S
6、tudent是否选修了特定的Section:if(attends.contains(someSection)){...111.Student类的构造函数publicStudent(Stringname,Stringssn,Stringmajor,Stringdegree){super(name,ssn);setMajor(major);setDegree(degree);setTranscript(newTranscript(this));attends=newArrayList();}publicStudent(Strin
7、gssn){ this("TBD",ssn,"TBD","TBD")}Transcript122.Student的get/set方法3.display()publicvoiddisplay(){super.display();System.out.println("StudentInformation:");System.out.println("tMajor:"+getMajor());System.out.println("tDegree:"+getDegree());displayCourseSchedul
8、e();printTranscript();}134.printTranscript()publicvoidprintTranscript(){getTranscript().display();}5.displayCourseSchedule()publicvoiddisplayCour
此文档下载收益归作者所有