面向对象例题

合集下载

面向对象程序设计练习题

面向对象程序设计练习题

面向对象程序设计练习题面向对象程序设计练习题面向对象程序设计是一种常用的软件开发方法,它将现实世界中的事物抽象成对象,通过定义对象的属性和方法来描述其行为。

这种编程方法可以提高代码的可重用性、可维护性和可扩展性。

下面将介绍几个面向对象程序设计的练习题,帮助读者更好地理解和应用这一编程方法。

1. 汽车租赁系统设计一个汽车租赁系统,包括汽车类、客户类和租赁记录类。

汽车类包括车牌号、品牌、型号和日租金等属性,客户类包括姓名、联系方式等属性,租赁记录类包括租车日期、租期和总租金等属性。

实现以下功能:- 客户可以查看可租赁的汽车列表;- 客户可以选择汽车租赁,并记录租车日期和租期;- 客户可以查看自己的租赁记录和总租金。

2. 图书管理系统设计一个图书管理系统,包括图书类、读者类和借阅记录类。

图书类包括书名、作者、出版社和价格等属性,读者类包括姓名、学号等属性,借阅记录类包括借书日期、归还日期等属性。

实现以下功能:- 图书管理员可以添加、删除和修改图书信息;- 读者可以查询图书信息,并借阅或归还图书;- 读者可以查看自己的借阅记录和逾期情况。

3. 银行账户管理系统设计一个银行账户管理系统,包括账户类、客户类和交易记录类。

账户类包括账户号码、余额等属性,客户类包括姓名、联系方式等属性,交易记录类包括交易日期、交易类型和交易金额等属性。

实现以下功能:- 客户可以查询账户余额;- 客户可以进行存款和取款操作,并记录交易记录;- 客户可以查看自己的交易记录和账户余额变动情况。

通过以上练习题,读者可以锻炼面向对象程序设计的能力,熟悉类的定义、属性和方法的使用,以及对象之间的交互。

在实现这些功能的过程中,读者需要考虑如何合理组织代码结构,如何处理异常情况,以及如何提高代码的可读性和可维护性。

在实际的软件开发中,面向对象程序设计是一种非常常用的编程方法。

它不仅可以提高代码的质量,还可以提高开发效率。

因此,掌握面向对象程序设计的技巧对于软件开发人员来说是非常重要的。

面向对象基础-参考答案

面向对象基础-参考答案

一、【必做题】1.(1)定义一个人类Person:1)定义一个方法sayHello(),可以向对方发出问候语“hello,my name is XXX”2)有三个属性:名字、身高、体重(2)定义一个PersonCreate类:1)创建两个对象,分别是zhangsan,33岁,1.73;lishi,44,1.742)分别调用对象的sayHello()方法。

(答案:Person.java、PersonCreate.java)2.(1)定义一个人类Person:1)定义一个方法sayHello(),可以向对方发出问候语“hello,my name is XXX”2)有三个属性:名字、身高、体重3)通过构造方法,分别给三个属性赋值(2)定义一个Constructor类:1)创建两个对象,分别是zhangsan,33岁,1.73;lishi,44,1.742)分别调用对象的sayHello()方法。

(答案:Constructor.java、或者是Person3.java)3.(1)定义一个矩形类Rectangle:1)定义三个方法:getArea()求面积、getPer()求周长,showAll()分别在控制台输出长、宽、面积、周长。

2)有2个属性:长length、宽width3)通过构造方法Rectangle(int width, int length),分别给两个属性赋值(答案:Rectangle.java)4.定义一个点类Point,包含2个成员变量x、y分别表示x和y坐标,2个构造器Point()和Point(int x0,y0),以及一个movePoint(int dx,int dy)方法实现点的位置移动。

()public class Point {private int x0;private int y0;public Point(){}public Point(int x0,int y0){t his.x0=x0;this.y0=y0;}public void movePoint(int dx,int dy){t his.x0 = this.x0 + dx;t his.y0 = this.y0 + dy;}}5.编写一个程序,创建两个Point对象p1、p2,分别调研movePoint方法后,打印p1和p2的坐标。

面向对象练习题

面向对象练习题

面向对象练习题及答案一、用例图1.请就以下需求建立用例图:一个新的音像商店准备采用计算机系统向比较广泛的人群销售或租借录像带和光碟。

该音像商店将存有大约1000 盘录像带和500 张光碟,这些订购涉及多家订购商。

所有的录像带和光碟都有一个条码,可以使用条码扫描仪来支持销售和返还,客户会员卡也同时条码化。

客户可以预定录像带并在指定日期来取。

系统必须拥有灵活的搜索机制来回答客户的询问,包括关于该音像商店还没有进货的电影(但可能是已经请求订购了)。

评分标准:画图格式标准3 分,用例全面正确4 分,角色与用例之间的关系正确3 分2.试用用例图描述小型图书资料管理系统。

某学院打算开发一个小型图书资料管理系统MiniLibrary,该系统基于Internet实现教师和学生对各种图书资料的借阅、查询和管理。

图书管理员负责管理各种图书资料,查询图书资料信息,并进行图书的借阅管理。

注册用户可以通过Internet 随时查询图书资料信息和个人借阅情况,预订目前借不到的图书资料,并可以快捷地查找和浏览所需要的电子资料。

系统可以提供适当的浏览器供用户阅读电子文献资料。

3.试用用例图描述系统简介:航空公司为给旅客乘机提供方便,需要开发一个机票预定系统。

各个旅行社把预定机票的旅客信息输入到系统中,系统为旅客安排航班。

当旅客交付了预订金后,系统打印出取票通知和帐单给旅客,旅客在飞机起飞前一天凭取票通知和帐单到航空公司交款取票,系统核对无误即打印出机票给旅客。

此外航空公司为随时掌握各个航班飞机的乘载情况,需要定期进行查询统计,以便适当调整。

技术要求和限制条件(1)在分析系统功能时要考虑有关证件的合法性验证(如身份证、取票通知和交款发票)等。

(2)对于本系统还应补充一下功能:1)旅客延误了取票时间的处理2)航班取消后的处理4 .请就此需求建立功能模型:某报社采用面向对象技术实现报刊征订的计算机管理系统,该系统基本需求如下:报社发行多种刊物,每种刊物通过订单来征订,订单中有代码、名称、订期、单价、份数等项目,订户通过填写订单来订阅报刊。

Java面向对象练习经典题

Java面向对象练习经典题

JA V A程序作业题1、设计一个包含多个构造函数的类,并分别用这些构造函数实例化对象。

2、编写一个类Calculate1,实现加、减两种运算,然后,编写另一个派生类Calculate2,实现乘、除两种运算。

3、建立三个类:居民、成人、官员。

居民包含身份证号、姓名、出生日期,而成人继承自居民,多包含学历、职业两项数据;官员则继承自成人,多包含党派、职务两项数据。

要求每个类的字段都以属性的方式对外提供数据输入输出的功能。

4、编写一个类,其中包含一个排序的方法sort(),当传入的是一串整数,就按照从小到大的顺序输出,如果传入的是一个字符串,就将字符串反序输出。

5. 编写一个控制台应用程序,定义一个类MyClass,类中包含有public、private 以及protected数据成员及方法。

然后定义一个从MyClass类继承的类MyMain,将Main方法放在MyMain中,在Main方法中创建MyClass类的一个对象,并分别访问类中的数据成员及方法。

要求注明在试图访问所有类成员时哪些语句会产生编译错误。

7.创建一个类包含有protected数据。

在相同的文件里创建第二个类,用一个方法操纵第一个类里的protected数据9 编写一个控制台应用程序,完成下列功能,并回答提出的问题。

1) 创建一个类A,在构造函数中输出“A”,再创建一个类B,在构造函数中输出“B”。

2) 从A继承一个名为C的新类,并在C内创建一个成员变量B。

不要为C创建构造函数。

3) 在Main方法中创建类C的一个对象,写出运行程序后输出的结果。

4) 如果在C中也创建一个构造函数输出“C”,整个程序运行的结果又是什么10 编写一个控制台应用程序,完成下列功能,并写出运行程序后输出的结果。

1) 创建一个类A,在A中编写一个可以被重写的带int类型参数的方法MyMethod,并在该方法中输出传递的整型值加10后的结果。

2) 再创建一个类B,使其继承自类A,然后重写A中的MyMethod方法,将A中接收的整型值加50,并输出结果。

面向对象测试题及答案

面向对象测试题及答案

面向对象测试题及答案一、选择题(每题2分,共20分)1. 面向对象编程(OOP)的核心概念不包括以下哪一项?A. 类B. 继承C. 多态D. 过程2. 在Java中,以下哪个关键字用于定义类?A. classB. typeC. structD. interface3. 下列哪个选项不是Java中访问控制的关键字?A. publicB. privateC. protectedD. global4. 封装是面向对象编程的一个重要特性,它主要指的是:A. 将数据和操作数据的方法组合在一起B. 将所有数据都设为公开访问C. 只允许通过特定的方法访问数据D. 将数据和方法分离5. 在Java中,以下哪个不是构造方法的特点?A. 与类名相同B. 没有返回类型C. 可以重载D. 可以被继承6. 继承在面向对象编程中允许:A. 一个类只能继承一个类B. 一个类可以继承多个类C. 一个类可以继承多个接口D. 一个类可以同时继承多个类和接口7. 接口在Java中的主要作用是:A. 定义类B. 实现多继承C. 定义方法的实现D. 定义方法的签名8. 以下哪个是Java中实现多态的方式?A. 继承B. 接口C. 重载D. 重写9. 抽象类在Java中不能:A. 被实例化B. 包含抽象方法C. 包含具体方法D. 被继承10. 下列哪个不是Java集合框架中接口?A. ListB. SetC. MapD. Array二、简答题(每题5分,共30分)1. 简述面向对象编程的三大特性。

2. 解释什么是多态,并给出一个Java中多态的例子。

3. 什么是封装?封装在Java中是如何实现的?4. 什么是接口?接口和抽象类有什么区别?5. 什么是构造方法?构造方法的作用是什么?6. 什么是继承?继承在Java中是如何实现的?三、编程题(每题25分,共50分)1. 编写一个Java程序,定义一个名为`Car`的类,包含以下属性和方法:- 属性:品牌(String类型),颜色(String类型),速度(int 类型)- 方法:启动汽车(startCar),加速(accelerate),减速(decelerate)2. 在上述`Car`类的基础上,创建一个名为`ElectricCar`的子类,继承`Car`类,并添加一个额外的属性:电池电量(int类型),并重写`startCar`方法以显示电动汽车启动的信息。

面向对象 练习题

面向对象 练习题

面向对象练习题面向对象练习题面向对象编程是一种常用的编程范式,它将程序设计问题分解成一系列的对象,每个对象都有自己的属性和方法。

面向对象编程的核心思想是把现实世界中的事物抽象成程序中的对象,并通过对象之间的交互来解决问题。

为了提升对面向对象编程的理解和掌握,下面将给出一些面向对象编程的练习题。

1. 设计一个汽车类,要求具有以下属性和方法:- 属性:品牌、颜色、价格- 方法:启动、加速、刹车、熄火2. 设计一个学生类,要求具有以下属性和方法:- 属性:姓名、年龄、性别、成绩- 方法:学习、休息、考试、查看成绩3. 设计一个图书类,要求具有以下属性和方法:- 属性:书名、作者、出版社、价格- 方法:借阅、归还、查看借阅状态、查看图书信息4. 设计一个银行账户类,要求具有以下属性和方法:- 属性:账户名、账号、余额- 方法:存款、取款、查询余额、转账5. 设计一个矩形类,要求具有以下属性和方法:- 属性:宽度、高度- 方法:计算面积、计算周长、判断是否为正方形这些练习题涵盖了面向对象编程中常见的概念和操作。

通过解答这些题目,可以加深对面向对象编程的理解,并提升对类、对象、属性和方法的使用熟练度。

在解答这些题目时,可以先思考每个类应该具有哪些属性和方法,然后根据需求进行实现。

可以使用任何编程语言来完成这些练习题,但建议使用面向对象编程语言如Java、Python等。

除了以上的练习题,还可以尝试设计更复杂的类和对象,如实现一个电商平台的商品类、用户类和订单类,或者实现一个图形界面的计算器类。

通过不断练习和实践,可以逐渐掌握面向对象编程的技巧和思维方式。

总之,面向对象编程是一种重要的编程范式,掌握它对于提升编程能力和解决实际问题非常有帮助。

通过解答上述练习题,可以加深对面向对象编程的理解和掌握,为以后的编程工作打下坚实的基础。

希望大家能够充分利用这些练习题,不断提升自己的编程能力。

面向对象模拟题(东软)

面向对象模拟题(东软)

1、在用例分析模型运用1.M1.用例图中,用例与参加者之间的关系是(A)通信(或者关联)(B)泛化(C)实现(D)运用2、IM1.用例图中,用例之间有三种关系,以下属于用例之间关系的是(A)包含(B)实现(C)通信(D)参加3、UM1.类图中,表示整体与局部关系的是(A)聚合(B)依靠(C)关联(D)继承4、在某信息系统中,存在如下的业务陈述:①一个客户提交O个或多个订单;②一个订单由一个且仅由一个客户提交。

系统中存在两个类:“客户”类和“订单”类。

对应每个“订单”类和“客户”类之间是__________________(A)关联(B)依靠(C)聚集(D)继承5、和都能够表示对象之间的交互,因此他们被合称为交互图(A)依次图类图(B)协作图状态图(C)依次图协作图(D)类图状态图6、1.M1.依次图以二维图表来显示交互。

纵向是时间轴,时间自上而下。

横向显示了代表协作中单个对象的分类角色。

每个对象用方框表示,对象的名字在方框内部,并在名字的下方加下划线。

每个分类角色表现为垂直列o在角色存在的时间内,显示为虚线(A)生命线(B)协作消息(C)激活(D)对象7、MaChine软件公司为BenZ公司的一款跑车设计了一个过程限制的紧急按钮,该按钮的功能依据汽车的行驶状态不同,而具有不同的功能,比如汽车静止时,该按钮可以快速启动汽车;当汽车的时速超过200km∕h 时,该按钮可以在2秒内将车平稳地停下来:当汽车向后行驶时,该按钮可以马上刹车,基于以上功能考虑,架构师Bob在设计该按钮时,应当采纳哪种设计模式(A)吩咐模式(B)状态模式(C)视察者模式(D)外观模式具体8、RiVer软件公司开发一个Web服务器,该服务器能够依据客户端的恳求,执行相应的处理,还可以对同时到达的恳求排队,并对胜利执行的每个恳求记录日志。

系统设计师Bob在设计该系统时,应当运用哪个设计模式以更好地支持对恳求的处理(A)适配器模式(B)视察者模式(C)吩咐模式(D)外观模式9、Wy1.ie学院准备开发一个新的OO课程注册系统,由于开发费用和时间的限制,这个新的课程注册系统将运用已有的一个非OO的课程书目遗留系统(1.egacysystem)所供应的一些功能,因此须要和这个课程书目系统集成。

Java 面向对象编程练习题及答案

Java 面向对象编程练习题及答案

Java 面向对象编程练习题及答案题目一:洗衣机类设计描述:设计一个洗衣机类,具有以下属性和方法:属性:- 品牌(brand):字符串类型,表示洗衣机的品牌- 容量(capacity):整型,表示洗衣机的容量(以公斤为单位)- 是否开机(isOn):布尔类型,表示洗衣机是否处于开机状态方法:- 开机(turnOn):将洗衣机的状态设置为开机- 关机(turnOff):将洗衣机的状态设置为关机- 洗衣服(washClothes):接收一个整型参数 clothesWeight,表示待洗衣物的重量(以公斤为单位)。

如果洗衣机处于开机状态,并且洗衣机容量足够洗这些衣物,则打印出洗衣机正在洗衣服;否则,打印出洗衣机无法洗衣物。

答案一:```javapublic class WashingMachine {private String brand;private int capacity;private boolean isOn;public WashingMachine(String brand, int capacity) { this.brand = brand;this.capacity = capacity;this.isOn = false;}public void turnOn() {this.isOn = true;}public void turnOff() {this.isOn = false;}public void washClothes(int clothesWeight) {if (isOn && clothesWeight <= capacity) {System.out.println("洗衣机正在洗衣服");} else {System.out.println("洗衣机无法洗衣物");}}}```题目二:学生类设计描述:设计一个学生类,具有以下属性和方法:属性:- 姓名(name):字符串类型,表示学生的姓名- 年龄(age):整型,表示学生的年龄- 成绩(score):整型,表示学生的成绩方法:- 构造方法(Constructor):接收姓名、年龄和成绩作为参数,创建一个学生对象- 获取姓名(getName):返回学生的姓名- 获取年龄(getAge):返回学生的年龄- 获取成绩(getScore):返回学生的成绩答案二:```javapublic class Student {private String name;private int age;private int score;public Student(String name, int age, int score) { = name;this.age = age;this.score = score;}public String getName() {return name;}public int getAge() {return age;}public int getScore() {return score;}}```题目三:图书馆管理系统设计描述:设计一个图书馆管理系统,包含图书(Book)、图书馆(Library)和借阅者(Borrower)三个类。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

(1)阅读下列说明和图,完成问题1至问题4,并在答题纸上自行列表写出答案。

【说明】在线会议审稿系统(Online Reviewing System, ORS)主要处理会议前期的投稿和审稿事务,其功能描述如下:(1)用户在初始使用系统时,必须在系统中注册(register)成为作者或审稿人。

(2)作者登录(login)后提交稿件和浏览稿件审阅结果。

提交稿件必须在规定提交时间范围内,其过程为先输入标题和摘要,选择稿件所属主题类型,选择稿件所在位置(存储位置)。

上述几步若未完成,则重复;若完成,则上传稿件至数据库中,系统发送通知。

(3)审稿人登录后可设置兴趣领域,审阅稿件给出意见,以及罗列录用和(或)拒绝的稿件。

(4)会议委员会主席是一个特殊的审稿人,可以浏览提交的稿件、给审稿人分配稿件、罗列录用和(或)拒绝的稿件,以及关闭审稿过程。

其中关闭审稿过程须包括罗列录用和(或)拒绝的稿件。

系统采用面向对象的方法开发,使用UML进行建模。

在建模用例图时,常用的方式是先识别参与者,然后确定参与者如何使用系统来确定用例,每个用例可以构造一个活动图。

参与者名称、用例和活动名称分别参见表1、表2和表3。

系统的部分用例图和提交稿件的活动图分别如图1和图2所示。

名称说明名称说明User 用户Author 作者Reviewer 审稿人PCChair 委员会主席名称说明名称说明login 登录系统Register 注册submit paper 提交稿件Browse review results 浏览稿件审阅结果close reviewing process 关闭审稿过程assign paper toreviewer分配稿件给审稿人set preferences 设定兴趣领域enter review 审阅稿件给出意见list accepted/rejected papers 罗列录用和/或拒绝的稿件browse submittedpapers浏览提交的稿件名称说明名称说明select paper location 选择稿件位置upload paper 上传稿件select subject group 选择主题类型send notification 发送通知enter title and abstract 输入标题和摘要图1 ORS的用例图图2 提交稿件过程的活动图【问题1】(4分)根据【说明】中的描述,使用表1中的英文名称,给出图1中A1~A4所对应的参与者。

【问题2】(3分)根据【说明】中的描述,使用表2中的英文名称,给出图1中U1~U3所对应的用例。

【问题3】(4分)根据【说明】中的描述,给出图1中(1)和(2)所对应的关系及其含义。

【问题4】(4分)根据【说明】中的描述,使用表2和表3中的英文名称,给出图2中Action1~Action4对应的活动。

答案:【问题1】(4分)根据【说明】中的描述,使用表1中的英文名称,给出图1中A1~A4所对应的参与者。

A1 User(1分)A2 Author(1分)A3 Reviewer(1分)A4 PCChair(1分)【问题2】(3分)!!注意:U2和U3的答案可以互换。

!!根据【说明】中的描述,使用表2中的英文名称,给出图1中U1~U3所对应的用例。

U1 list accepted / rejected papers(1分)U2 browse submitted papers(1分)U3 assign paper to reviewer(1分)【问题3】(4分)根据【说明】中的描述,给出图1中(1)和(2)所对应的关系及其含义。

(1)<<extend>>(1分):将常规动作放在一个基本Use Case中,将非常规动作放在其扩展Use Case中。

(1分)(2)<<include>>(1分):两个Use Case,如果其中一个在其事件流中包含了另一个,那么它们间就有包含关系。

(1分)【问题4】(4分)根据【说明】中的描述,使用表2和表3中的英文名称,给出图2中Action1~Action4对应的活动。

Action1 enter title and abstract(1分)Action2 select subject group(1分)Action3 select paper location(1分)Action4 upload paper(1分)(2)阅读下列说明和图,回答问题1至问题4,将答案填到答题纸的对应栏内。

【说明】某汽车停车场欲建立一个信息系统,已经调查到的需求如下:(1)在停车场的入口和出口分别安装一个自动栏杆、一台停车卡打印机/一台读卡器以及一个车辆通过传感器,示意图如图1所示。

图1 自动停车场示意图(2)当汽车到达入口时,驾驶员按下停车卡打印机的按钮获取停车卡。

当驾驶员拿走停车卡后,系统命令栏杆自动抬起;汽车通过入口后,入口处的传感器通知系统发出命令,栏杆自动放下。

(3)在停车场内分布着若干个付款机器。

驾驶员将在入口处获取的停车卡插入付款机器,并缴纳停车费。

付清停车费之后,将获得一张出场卡,用于离开停车场。

(4)当汽车到达出口时,驾驶员将出场卡插入出口处的读卡器。

如果这张卡是有效的,系统命令栏杆自动抬起;汽车通过出口后,出口处的传感器通知系统发出命令,栏杆自动放下。

若这张卡是无效的,系统不发出栏杆抬起命令而发出告警信号。

(5)系统自动记录停车场内空闲的停车位的数量。

若停车场当前没有车位,系统将在入口处显示“车位已满”信息。

这时,停车卡打印机将不再出卡,只允许场内汽车出场。

根据上述描述,采用面向对象方法对其进行分析与设计,得到了如表1所示的用例/类/状态列表、如图2所示的用例图、如图3所示的初始类图,以及如图4所示的描述入口自动栏杆行为的UML状态图。

图2 用例图图3 初始类图图4 入口自动栏杆行为的状态图用例名说明类名说明状态名说明Car entry 汽车进入停车场CentralComputer停车场信息系统Idle空闲状态,汽车可以进入Car exit 汽车离开停车场PaymentMachine 付款机器Disable 没有车位Report Statistics 记录停车场的相关信息CarPark停车场,保存车位信息Await Entry等待汽车进入Barrier 自动护栏Await TicketTake等待打印停车卡Car entry 没有车位时,汽车请求进入EntryBarrier 入口的护栏Await Enable等待停车场内有空表1 用例/类/状态列表【问题1】(3分)根据【说明】中的描述,使用表1给出的用例名称,给出图2中U1、U2和U3所对应的用例。

U1 U2 U3【问题2】(4分)中A~D 所对应的类。

A B C D【问题3】(4分)S1~S4所对应的状态。

S1 S2 S3 S4【问题4】(4分)简要解释图2中用例U1和U3之间的extend 关系的内涵。

答案:阅读下列说明和图,回答问题1至问题4,将答案填到答题纸的对应栏内。

参考答案: 【问题1】(3分)U1 Car entry U2 Car exitU3 Car entry when full 【问题2】(4分)!!C 、D 答案可以互换!!A CarParkB BarrierC EntryBarrier DExitBarrier【问题3】(4分)S1 IdleS2 Await Ticket Take S3 Await Enable S4Await Entry 【问题4】(4用例之间的扩展关系用于对可选系统行为的用例的一部分建模。

通过这种方式,可以把可选行为从必需的行为中分离出来。

when full停车场ExitBarrier 出口的护栏闲车位(3)阅读下列说明和图,回答问题1至问题4,将解答填入答题纸的对应栏内。

【说明】已知某唱片播放器不仅可以播放唱片,而且可以连接电脑并把电脑中的歌曲刻录到唱片上(同步歌曲)。

连接电脑的过程中还可自动完成充电。

关于唱片,还有以下描述信息:1.每首歌曲的描述信息包括:歌曲的名字、谱写这首歌曲的艺术家以及演奏这首歌曲的艺术家。

只有两首歌曲的这三部分信息完全相同时,才认为它们是同一首歌曲。

艺术家可能是一名歌手或一支由2名或2名以上的歌手所组成的乐队。

一名歌手可以不属于任何乐队,也可以属于一个或多个乐队。

2.每张唱片由多条音轨构成;一条音轨中只包含一首歌曲或为空,一首歌曲可分布在多条音轨上;同一首歌曲在一张唱片中最多只能出现一次。

3. 每条音轨都有一个开始位置和持续时间。

一张唱片上音轨的次序是非常重要的,因此对于任意一条音轨,播放器需要准确地知道,它的下一条音轨和上一条音轨是什么(如果存在的话)。

根据上述描述,采用面向对象方法对其进行分析与设计,得到了如表1-1所示的类列表、如图1-1所示的初始类图以及如图1-2所示的描述播放器行为的UML 状态图。

类 名 说 明 Artist 艺术家 Song 歌曲 Band 乐队 Musician 歌手 Track 音轨 Album 唱片图1-1 初始类图图1-2 播放器行为UML 状态图【问题1】(6分)根据说明中的描述,使用表1-1给出的类的名称,给出图1-1中的A~F 所对应的类。

【问题2】(3分)根据说明中的描述,给出图1-1中(1)~(6)处的多重度。

ACDFE B (1) (2)(3) (4)(5) (6)10..*10..* 编写演奏【问题3】(4分)图类多重度【问题4根据图1-2所示的播放器行为UML状态图,给出从“关闭”状态到“播放”状态所经过的最短事件序列(假设电池一开始就是有电的)。

答案:【问题1】(6分)根据说明中的描述,使用表1-1给出的类的名称,给出图1-1中的A~F所对应的类。

A: Artist B: Song C: Band D: Musician E: Track F: Album【问题2】(3分)根据说明中的描述,给出图1-1中(1)~(6)处的多重度。

(1) 0..*(2) 2..*(3) 0..1(4) 1..*(5) 1..*(6) 1【问题3】(4分)图1-1中缺少了一条关联,请指出这条关联两端所对应的类以及每一端的多重度。

类多重度Track 或E (1 分) 0..1Track 或E (1 分) 0..1【问题4】(2分)根据图1-2所示的播放器行为UML状态图,给出从“关闭”状态到“播放”状态所经过的最短事件序列(假设电池一开始就是有电的)。

按任意键,选择歌曲(4)阅读下列说明和图,回答问题1至问题3,将解答填入答题纸的对应栏内。

【说明】某城市的各国家公园周边建造了许多供游客租用的小木屋和营地,为此,该城市设置了一个中心售票处和若干个区域售票处。

相关文档
最新文档