面向对象的三种关系

[TOC]
面向对象的三种关系

is-a,顾名思义,是一个,代表继承关系。

一个类中包含了另一个类的所有属性和方法
比如正方形和长方形继承于图形,可以继承图形的边长的属性和周长和面积的方法如图所示
is-a

has-a,顾名思义,有一个,代表从属关系。

一个学校里有学生成绩的可以开发学生管理系统,有老师职称的可以开发教师录入系统,把类之间的关系分离,高内聚,低耦合。
has1-a

ike-a,顾名思义,像一个,代表组合关系。

实现了某个接口的功能,继承某个类 的属性和方法。比如说手机实现了通话和发短信的功能,继承了微机的娱乐功能。
like-a

is-a,has-a,like-a如何应用
如果你确定两件对象之间是is-a的关系,
那么此时你应该使用继承;比如菱形、圆形和方形都是形状的一种,那么他们都应该从形状类继承。
如果你确定两件对象之间是has-a的关系,
那么此时你应该使用聚合;比如电脑是由显示器、CPU、硬盘等组成的,那么你应该把显示器、CPU、硬盘这些类聚合成电脑类。
如果你确定两件对象之间是like-a的关系,
那么此时你应该使用组合;比如空调继承于制冷机,但它同时有加热功能,那么你应该把让空调继承制冷机类,并实现加热接口。
在学习和使用的过程中遁寻高内聚,低耦合的设计原则,先对整个系统做简单的分析,然后书写文档建立类之间的关联,在数据出错的时候记得梳理自己的知识结构,在不一样的世界想象,系统设计与现实,而高于现实的应用,希望在接下来的学习中能够学到更多的东西。

文章目录
  1. 1. is-a,顾名思义,是一个,代表继承关系。
  2. 2. has-a,顾名思义,有一个,代表从属关系。
  3. 3. ike-a,顾名思义,像一个,代表组合关系。
,