絮絮叨叨
面向对象编程才比较容易找到对象。
设计模式是自己一直都想学习的,虽然自己不是面向过程,就是面向业务,有时候甚至面向 bug,但是了解面向对象的愿望一直很迫切。
就算有时候忙忙碌碌忘记自己,就算有时候庸庸碌碌不思进取,但了解世界更多的努力还是要多搞一搞。
UML 类图
之前的确不知道何为类图,不知道关联(Association),依赖(dependency),继承(inheritance),实现(realization),聚合(aggregation),组合(composition)。虽然看了一个比较全面的专栏UML 各种图总结精华。但是还是不清楚他们之间的关联和区别。
中的最后一张图很清晰,很全面的说明了上面六种关系。做一个总结,方便对于图形的记忆。
势均力敌的对手 | 图形区别 | 含义区别 |
---|---|---|
继承 实现 | 实虚 | 父子; 只是实现功能。 |
关联 依赖 | 实虚 | 关联会有一个属性为另一个类; 依赖的方法会以另一个类为参数 |
聚合 组合 | 白黑 | 前者不存在从属(如人群和人),后者存在从属(如车的零件) |
具体的图形
下面的类图是用来理解六种关系的非常好的例子。