c++的类和对象

来源:互联网 发布:linux 目录空间查看 编辑:程序博客网 时间:2024/06/10 17:19

c++中所谓的类,或者所谓的面向对象设计是一个非常混乱的概念。

不同的设计思路和概念被混在了同一个名称之下,类。


采用类的设计一般会包含这么三种内容:


1,抽象数据类型(封装)


一个类由一系列数据,以及定义在这个类上的一系列操作构成。

使用对象,就可以在不关心对象内部实现的情况下,对对象进行处理。

比如有了分数类,就可以让两个分数相加,而不用关心怎么处理分子和分母。

有了字符串类,就不用关心如何处理单个字符。


2,实现继承(代码复用,减少冗余代码)


类可以通过继承,来重用另一个类的代码。

这玩意非常麻烦。

如果不考虑接口继承的因素,我到现在也没弄太明白。

到底什么时候一个类应该继承另一个类,而什么时候一个类应该将另一个类作为一个成员?


C++处理函数的态度是相对死板的。

为了将函数作用参数,很多时候会弄所谓的函数对象这么个东西出来。

这样就没有相对方便的代理机制。

导致很多时候不得不用继承,为了省事。


3,接口继承(运行时多态)


类可以通过接口继承,来实现运行时多态。

C++本身是一种静态类型语言,进行严格的类型检查。

为了实现运行时多态,不得不在类型检查中开一个后门。

这个后门就是接口继承。


除了对类型检查开的后门,还要实现运行时多态。

这样在函数调用上又要开一个后门。

这个后门就是虚表。

0 0
原创粉丝点击