返回介绍

7.10 类和对象的区别

发布于 2023-05-19 17:35:11 字数 1122 浏览 0 评论 0 收藏 0

前面介绍了有关面向对象的几种观点,应该已了解了面向对象编程。但再补充一些面向对象编程必不可少的知识。

首先,要说明一下类和对象的区别。在面向对象编程中,类和对象被看作是不同的概念而予以区别对待。类是对象的定义,而对象是类的实例(Instance)。经常有教材这样说明二者之间的关系:类是做饼干的模具,而用这个模具做出来的饼干就是对象。虽然这是个有趣的比喻,但如果这样类比的话,就有可能无法看清二者在实际编程中的关系(如图7.6所示)

图7.6 类和对象的关系就像饼干模具和饼干的关系

在之前的代码清单7.2所示的程序中,定义了一个类MyClass。但是还无法直接使用类MyClass的成员,要想使用就必须在内存上生成该类的副本,这个副本就是对象(如代码清单7.5所示)

代码清单7.5 先创建类的对象然后再使用(C++)

MyClass obj;       //创建对象

obj.Variable=123;  //使用对象所持有的变量

obj.Function();    //使用对象所持有的函数

先要创建一个个的对象然后才能使用类中定义的成员,对于面向对象语言的初学者而言,会认为这样做很麻烦。但也只能这样做,因为这是面向对象语言就是这样规定的。可为什么要确立这样的规则呢?原因是即便是在现实世界中,也有类(定义)和对象(实体)的区别。举例来说,假设定义了一个表示企业中雇员的类Employee,如果仅仅是定义完就可以立即使用类Employee中的成员,那么程序中实际上就只能存在一个雇员,而如果规定了要先创建类Employee的对象才能使用,那么就可以需要多少就创建多少雇员了(通过在内存上创建出类Employee的副本)。在这一点上,稍后将要介绍的具有两个文本框的Windows应用程序也是如此,也就是说这个程序创建了两个文本框类的对象

这样的话,就更能理解“类是做饼干的模具,用模具做出来的饼干是对象”这句话的含义了吧。有了一个做饼干的模具(类),那么需要多少就能做出多少饼干(对象)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文