c++类之间的关系

Posted on 2018-03-15 10:14  moisiet  阅读(477)  评论(0编辑  收藏  举报

我们知道,表达方式分为很多种,对于同一种事物,比如爱情,画家用图画和色彩表达爱恋;音乐家用音符和节奏表达喜爱之情,作家用文字表现爱慕。

而程序员怎么办?

程序员构建类,用类来表达单身之苦。因此,类就是描述特定事物的计算机语言表达方式。

类通常由成员变量和成员函数组成。成员变量用来描述个人的性别、身高、姓名、学历等信息。成员函数用来描述个人动作信息,如待人接物的反应,头脑的灵活运用,语言风趣幽默等动作。有了这两个方面的描述,一个单身人的各方面的条件就差不多描述丰富了,就等待姑娘们是否青睐了。

姑娘们是否青睐,就涉及到了两者之间的关系了。用计算机表达,就是类与类之间的关系。

总体上,类与类之间的关系可以分为两种:纵向关系和横向关系。

一、纵向关系

就是继承关系或实现关系,此处有时间再讲。

二、横向关系

关系强弱:依赖关系<<平等关系<<聚合关系<<组合关系

依赖关系: A uses B。A的功能依赖与B,但A并不持有B。

平等关系:A has B。 A和B平等,就像人和人之间一样,可以拥有对方,但不可占有对方。

聚合关系:A owns B. A拥有B,B属于A,但B还可以被其它人分享。如公司和员工,人和家。

组合关系:B is a part of A。A 占有B,且A消亡B必定消亡。如人和心脏,地球和生命。

计算机语言表达这几种关系的方式:将B对象作为A的成员变量或者将B作为参数传入A的成员函数中。

总结:类与类之间发生关系不过以下几种方式:

1.类A对象作为类B的成员变量。

2.类A对象作为类B的成员函数的参数。

类要有用,必须要向外暴露接口。这个接口要么能够返回数据,要么能够处理一些工作,否则如果类完全封闭,不暴露给别人能够使用的接口,那跟废物有什么区别呢?

暴露接口就是给别人利用自己的机会,也是实现自己价值的必要手段。

类是一种设计蓝图,而对象才使蓝图成活。繁复的大千世界和事物的关系,可以用图画描述,可以用语言描述,更可以用类来描述。

脑海里一定要有用类来描述各种事物,各种事物之间复杂关系的能力的模型,这是学好计算机语言的第一步。