这篇文章主要是阐述类之间的四种常见关系(依赖、关联、泛化、实现),阅读时间建议5mins
类之间的关系有以下四种——
1、依赖关系
- 依赖指得是类之间的调用关系,一个类调用了另一个类的方法。
- 如果类A在它的方法中使用到了另一个类B的方法或者属性,但是这种使用关系是具有偶然性的、临时性的、非常弱的,但是类B的变化会影响到类A,这个时候类A依赖类B。
- 举例:人在出远门的时候会依赖车的关系;喝水会依赖杯子的关系等,依赖总是单向的。
2、关联关系
- 关联体现的是两个类之间语义级别的一种强依赖关系,比如我和我的朋友,这种关系比依赖更强、不存在依赖关系的偶然性、关系也不是临时性的,一般是长期性的,而且双方的关系一般是平等的。
- 方向性(代表一个类是否拥有能够导航到另外一个类的知识,比如导师与学生之间的关系是属于双向关联;学生与课程之间的关系是属于单向关联)、多重性(有1对1、1对多、多对多关联关系)、聚集性(特指对象之间存在一种”整体与部分“的包含关系,可分为聚合与组合两种具体类型)是描述关联关系的3个特征维度;
3、泛化关系
- 泛化就是从子类抽象出一个父类 ,包含了继承关系(由父类具体化一个子类)。
- 继承关系指的是一个类(称为子类、子接口)继承另外的一个类(称为父类、父接口)的功能,在UML类图设计中,继承用一条带空心三角箭头的实线表示,从子类指向父类,或者子接口指向父接口。
- 继承与泛化可以看作一个逆过程
4、实现关系
- 实现指的是一个类实现一个interface接口(可以是多个)的功能,在UML类图设计中,实现用一条带空心三角箭头的虚线表示,从类指向实现的接口。
总结:依赖就是代表运行时的临时相关性;关联代表设计时的固定相关性;聚集代表设计时的对象包含关系,关系层层递进。
标签:关系,依赖,泛化,子类,接口,关联,之间 来源: https://www.cnblogs.com/veda0612/p/12485442.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。