软件工程面向对象.ppt
《软件工程面向对象.ppt》由会员分享,可在线阅读,更多相关《软件工程面向对象.ppt(68页珍藏版)》请在优知文库上搜索。
1、面向对象导论29.2.2 其他概念1. 类(class)v类是对具有相同属性和行为的一个或多个对象的描述2. 实例(instance)v实例就是由某个特定的类所描述的一个具体的对象。3. 消息(message)v消息就是要求某个对象执行在定义它的那个类中所定义的某个操作的规格说明。通常,一个消息由下述3部分组成:v接收消息的对象;v消息选择符(也称为消息名);v零个或多个变元。4. 方法(method)v方法就是对象所能执行的操作,也就是类中所定义的服务。5. 属性(attribute)v属性就是类中所定义的数据,它是对客观世界实体所具有的性质的抽象。6. 封装(encapsulation)v
2、从字面上理解,所谓封装就是把某个事物包起来,使外界不知道该事物的具体内容。v信息隐藏v代码重用对象具有封装性的条件如下:v(1) 有一个清晰的边界。v(2) 有确定的接口(即协议)。v(3) 受保护的内部实现。7. 继承(inheritance)v在面向对象的软件技术中,继承是子类自动地共享基类中定义的数据和方法的机制。v继承具有传递性。v多重继承要注意避免二义性。8. 多态性(polymorphism)9. 重载(overloading)有两种重载:v函数重载是指在同一作用域内的若干个参数特征不同的函数可以使用相同的函数名字;v运算符重载是指同一个运算符可以施加于不同类型的操作数上面。方法的
3、覆盖(Override) 如果子类中,定义的一个方法,其名称、返回类型、以及参数与父类中的某个方法相匹配,则该子类重写的父类的方法。 覆盖方法必须满足以下条件。 1、 子类方法的名称、参数、返回类型必须与父类方法一致。 2、 子类方法不能缩小父类方法的访问权限。 3、 子类方法不能抛出比父类方法更多的异常。也就是说子类方法抛出的异常必须与父类方法抛出的异常相同或者是子类方法抛出的异常是父类抛出异常的子类。 4、 方法的覆盖只能存在与父类与子类,同一类中只存在方法的重载,不存在方法的覆盖。 5、 父类中的私有方法不能补覆盖。 6、 父类中的非抽象方法,可以被覆盖为抽象方法。 vBooch,Rum
4、baugh和和Jacobson经过合作研经过合作研究,于究,于1996年年6月设计出统一建模语言月设计出统一建模语言UML 0.9。v在在1996年年底,年年底,UML已经稳定地占领了面向已经稳定地占领了面向对象技术市场的对象技术市场的85%,成为事实上的工业标,成为事实上的工业标准。准。v1997年年11月,国际对象管理组织月,国际对象管理组织OMG批准批准把把UML 1.1作为基于面向对象技术的标准建作为基于面向对象技术的标准建模语言。模语言。9.4.1 类图的基本符号类图的基本符号v类图描述类及类与类之间的静态关系,是一类图描述类及类与类之间的静态关系,是一种静态模型。种静态模型。1.
5、定义类定义类2. 定义属性定义属性UML描述属性的语法格式如下:描述属性的语法格式如下:v属性名:属性名: 类型名类型名=初值初值性质串性质串v属性的可见性(即可访问性)通常有下述属性的可见性(即可访问性)通常有下述3种:种:公有的公有的(public)、私有的、私有的(private)和保护的和保护的(protected),分别用加号(,分别用加号(+)、减号()、减号(-)和井号(和井号(#)表示。)表示。v属性名和类型名之间用冒号(:)分隔。属性名和类型名之间用冒号(:)分隔。v3. 定义服务定义服务9.4.2 表示关系的符号表示关系的符号v类与类之间通常有关联、泛化(继承)、依类与类之
6、间通常有关联、泛化(继承)、依赖和细化等赖和细化等4种关系。种关系。1. 关联关联v关联表示两个类的对象之间存在某种语义上关联表示两个类的对象之间存在某种语义上的联系。的联系。(1) 普通关联普通关联v普通关联是最常见的关联关系,只要在类与普通关联是最常见的关联关系,只要在类与类之间存在连接关系就可以用普通关联表示。类之间存在连接关系就可以用普通关联表示。在表示关联的直线两端可以写上重数在表示关联的直线两端可以写上重数(multiplicity),它表示该类有多少个对象),它表示该类有多少个对象与对方的一个对象连接。重数的表示方法通与对方的一个对象连接。重数的表示方法通常有:常有:v01 表示
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 面向 对象
