1、面向对象程序设计,、,第二章面向对象的分析与设计,学习目标,1 确定系统中的对象2 确定对象的属性及操作3 测试对象的有效性4 区分对象和类5 了解面向对象的编程和过程化编程之间的区别6 了解封装的主要好处7 了解软件开发的主要步骤,我们可以把生活所在的真实世界(Real World)当作是由许多大小不同的对象所组成的。对象可以是有生命的个体,比如一个人或一只鸟。,对象,对象,对象也可以是无生命的个体,比如一辆汽车或一台计算机。 对象也可以是一个抽象的概念,如天气的变化或鼠标所产生的事件。,对象的基本概念,客观世界的组成:对象;对象之间的相互关系;对象:对象是系统中用来描述客观事物的一个实体,
2、它是构成系统的一个基本单位。一个对象由一组属性和操作组成。动态观点:对象的操作就是对象的行为,对象的特征,对象有两个特征:属性和行为如:一个人有他的身高或体重作属性,有他的行为如唱歌、打球、骑摩托车、开汽车。一条狗有它的颜色作属性,有它的行为,如摇尾巴或跳跃。一台电视机有它的外形、尺寸和颜色,有它的行为,如开、关,接收信号,转换频道,调节音量。,汽车对象,以汽车为例,我们可定义其属性与方法如:,课程中通过下面的案例来学习面向对象的分析与设计原理。,案例研究,公司名称:DirectClothing公司业务包括:1、按月生成产品目录2、客户通过电话、网络和传真订购3、随时检查订购项的库存情况4、公
3、司接受支票和信用卡付款,定义系统的:对象1、对象属性对象的特征2、对象操作所能执行的任务,面向对象概述,找出问题描述领域中的主要名词对象可能是:简单的或复杂的(衬衣,银行)真实的或概念的(银行出纳员,帐户)对象有:属性(颜色,尺寸 )操作(下订单,取消订单),第一步:确定对象,对象找到了!,属性:是对象的状态特征可以是数据或其它对象对Order对象来说,可能包括orderID和items操作:是对象执行的动作可以是对象做出的或施加给对象的动作对Order对象来说,可能是place和cancel,第二步:确定对象属性和操作,第三步:对象建模,属性类型,与问题域的相关性对象是否在问题陈述的界限之内
4、?系统是否必须有此对象才能完成任务?在用户与系统的交互中是否必须有此对象?独立存在性属性和操作,第四步:测试对象,面向对象分析小结,找出问题域中的对象,及其属性和操作步骤:1、列出有关的对象(名词) 2、列出这些对象的属性和操作 3、为对象设置合理的属性和操作 4、应用第四步的3条评判规则检验对象的有效性,练习,An object-oriented design for a Java application that tracks soccer scores.The program should track:The number of goals each player scores in each gameWhat teams the players play for and what season the games were play in,