面向对象设计的语言规范

1. 面向对象设计

面向对象设计主要使用UML的类图,类图用于描述系统中所包含的类以及他们之间的相互关系。

它是系统分析和设计阶段的重要产物,也是系统编码和测试的重要模型依据

类的UML画法

 

其中 - 表示private 

        +表示public

        #表示protected

继承关系

普通继承

 

有空心的三角符号表示,空心的三角符号指向被继承者(也就是基本的那个类),线指向继承者,表示类是继承的

 抽象继承

 

抽象类无论类名还是抽象方法名,都以斜体的方式表示,因为这也是一种继承关系,所以子类与 父类通过带空心三角形的实线来联系

关联关系

关系是类与类之间最常见的一种关系,它是一种结构化的关系,表示一类对象与另一类 对象之间有联系,

在C++中,关联关系就是在C++中通常将一个类的对象作为另一个类的成员变量

 

双向关联关系

 

自关联关系

 

聚合关系

关系表示整体与部分的关系。在聚合关系中,成员对象是整体的一部分,但是成员对象 可以脱离整体对象独立存在。在UML中,聚合关系用带空心菱形的直线表示。

 

组合关系

组合关系也表示的是一种整体和部分的关系,但是在组合关系中整体对象可以控制成员对象的生命周期,一旦整体对象不存在,成员对象也不存在,整体对象和成员对象之间具有同生共死的关系。

 在UML中组合关系用带实心菱形的直线表示。

 

依赖关系

依赖关系是一种使用关系,特定事物的改变有可能会影响到使用该事物的其他事物,在需要表示一个事物使用另一个事物时使用依赖关系,大多数情况下依赖关系体现在某个类的方法使用另一个类 的对象作为参数。在UML中,依赖关系用带箭头的虚线表示,由依赖的一方指向被依赖的一方。

 

 

关联关系、聚合关系、组合关系之间的区别 

从上文可以看出,关联关系、聚合关系和组合关系三者之间比较相似,本文的最后就来总结一下这三者之间 的区别。 

关联和聚合的区别主要在于语义上:关联的两个对象之间一般是平等的,聚合则一般是不平等的。

 聚合和组合的区别则在语义和实现上都有差别:组合的两个对象之间生命周期有很大的关联,被组合的对象 在组合对象创建的同时或者创建之后创建,在组合对象销毁之前销毁,一般来说被组合对象不能脱离组合对象独立存在,而且也只能属于一个组合对象;聚合则不一样,被聚合的对象可以属于多个聚合对象。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值