共京部電大学 对象 理解对象的两个角度 现实世界:客观存在的任何事物都可以被看作是对象 有形的对象,如一个人或一件物品; 无形的对象,如一项计划或者一个事件 对象是一个独立单位,它具有自己的静态特征和动态特征。 软件系统:对象是用来描述现实世界客观事物的一个 实体,是构成系统的一个基本单位。 对象由一组属性和对这组属性进行操纵的一组操作组成。 属性用来描述对象静态特征 操作用来描述对象动态特征。 ⊙2008 BUPT TSEG 北京邮电大学通信软件工程中心 11
© 2008 BUPT TSEG 北京邮电大学 通信软件工程中心 11 对象 ◆ 理解对象的两个角度: ➢ 现实世界:客观存在的任何事物都可以被看作是对象 有形的对象,如一个人或一件物品; 无形的对象,如一项计划或者一个事件。 对象是一个独立单位,它具有自己的静态特征和动态特征。 ➢ 软件系统:对象是用来描述现实世界客观事物的一个 实体,是构成系统的一个基本单位。 对象由一组属性和对这组属性进行操纵的一组操作组成。 属性用来描述对象静态特征, 操作用来描述对象动态特征
共京部電大学 类 ◆类是具有相同属性、操作、关系和语义的对象集 合的描述。 ◆类为属于该类的全部对象提供了统一的抽象描述 ,由类名、属性和服务三个主要部分组成。 ◆对象是类的实例 类名 学生 学生1:学生学生2学生 属性 学号 学号=G001 学号=G1005 姓名 姓名=张红 姓名=王林 操作 借阅图书O +归还图书O 学生3:学生 学生1000学生 +预约图书O 学号=G1009 学号=G1030 查询图书O 姓名=陈浩 姓名=孙周 ⊙2008 BUPT TSEG 北京邮电大学通信软件工程中心 12
© 2008 BUPT TSEG 北京邮电大学 通信软件工程中心 12 类 ◆ 类是具有相同属性、操作、关系和语义的对象集 合的描述。 ◆ 类为属于该类的全部对象提供了统一的抽象描述 ,由类名、属性和服务三个主要部分组成。 ◆ 对象是类的实例。 类名 属性 操作 +借阅图书() +归还图书() +预约图书() +查询图书() -学号 -姓名 学生 学号 = G1005 姓名 = 王林 学生2 : 学生 学号 = G1009 姓名 = 陈浩 学生3 : 学生 学号 = G1030 姓名 = 孙周 学生1000 : 学生 学号 = G1001 姓名 = 张红 学生1 : 学生
共京部電大学 关联和链 ◆关联用来描述类之间的静态联系,可以包 含关联的名称、关联的方向和多重性等属 性, 学生借阅[图书 关联名称:借阅 关联方向:单向 多重性:7(表示最多借阅7本) ◆链是关联的实例,用于描述具体对象之间 的某种联系。 对象之间的链可以通过对象的属性表达出来。 例如,用类“学生”的对象的属性来记录该对 象具体借阅的“图书”对象 ⊙2008 BUPT TSEG 北京邮电大学通信软件工程中心 13
© 2008 BUPT TSEG 北京邮电大学 通信软件工程中心 13 关联和链 ◆ 关联用来描述类之间的静态联系,可以包 含关联的名称、关联的方向和多重性等属 性。 ◆ 链是关联的实例,用于描述具体对象之间 的某种联系。 ➢ 对象之间的链可以通过对象的属性表达出来。 例如,用类“学生”的对象的属性来记录该对 象具体借阅的“图书”对象。 学生 借阅 图书 关联名称:借阅 关联方向:单向 多重性:7(表示最多借阅7本)
共京部電大学 继承/泛化 ◆继承也称泛化,是OO描述类之间相似性的一种重 要机制。 ◆当需要定义的一个新类与已经存在的类存在一定 程度的相似度的时候,可以通过继承已经存在的 类的方法来创建新类,从而减少定义新类的工作 ◆在类的继承层次结构中,位于较高层次的类叫做 般类超类父类,而位于较低层次的类叫做特殊 类/子类。 继承使得特殊类自动地捆有或隐含地复制一般类 的全部属性、操作和关联。 ⊙2008 BUPT TSEG 北京邮电大学通信软件工程中心 14
© 2008 BUPT TSEG 北京邮电大学 通信软件工程中心 14 继承/泛化 ◆ 继承也称泛化,是OO描述类之间相似性的一种重 要机制。 ◆ 当需要定义的一个新类与已经存在的类存在一定 程度的相似度的时候,可以通过继承已经存在的 类的方法来创建新类,从而减少定义新类的工作 量。 ◆ 在类的继承层次结构中,位于较高层次的类叫做 一般类/超类/父类,而位于较低层次的类叫做特殊 类/子类。 ◆ 继承使得特殊类自动地拥有或隐含地复制一般类 的全部属性、操作和关联
共京部電大学 继承/泛化 只有当两个类之间是 人员 is a 姓名 is like is a kind of”关系时,才可使用继承。 继承可分为单继承和多继承 如果一个子类继承了超过一个以上的父研究生教职工 类的属性和操作,那么这种继承就是多}学号 职称 继承 班级 工龄 否则就是单继承。 继承是可传递的,可以跨越任意层次 在职研究生 子类继承其所有祖先类的属性、操作和 在职单位 关联 ⊙2008 BUPT TSEG 北京邮电大学通信软件工程中心 15
© 2008 BUPT TSEG 北京邮电大学 通信软件工程中心 15 继承/泛化 ◆ 只有当两个类之间是 ➢ “is a”, ➢ “is like” ➢ “is a kind of ”关系时,才可使用继承。 ◆ 继承可分为单继承和多继承。 ➢ 如果一个子类继承了超过一个以上的父 类的属性和操作,那么这种继承就是多 继承; ➢ 否则就是单继承。 ◆ 继承是可传递的,可以跨越任意层次 。 ➢ 子类继承其所有祖先类的属性、操作和 关联。 -姓名 -...... 人员 -学号 -班级 -...... 研究生 -职称 -工龄 -...... 教职工 -在职单位 -...... 在职研究生