返回介绍

7.2 对OOP的多种理解方法

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

在计算机术语辞典等资料中,常常对面向对象编程做出了如下定义

面向对象编程是一种基于以下思路的程序设计方法:将关注点置于对象(object)本身,对象的构成要素包含对象的行为及操作(C语言中,结构体是数据的集合,它将数据捆绑在一起,使得我们可以将这些数据看作一个整体。而对结构体中的数据进行操作的函数却写在了结构体外部。然而在面向对象编程中,将表示事件行为的函数也放入了这个整体,这就形成了对象的概念,使得这个整体既能描述属性,又能描述行为),以此为基础进行编程。这种方法使程序易于复用,软件的生产效率因而得以提升。其中所使用的主要编程技巧有继承、封装、多态三种。

这段话足以作为对术语的解释说明,但仅凭这段话还是无法理解面向对象编程的概念

“面向对象编程是什么?”如果去问十个程序员,恐怕得到的答案也会有十种。就此打个可能稍微有点特别的比方吧。有几个人去摸一只刺猬,但他们看不到刺猬的全身。有的人摸到了刺猬的后背,就会说“摸起来扎手,所以是像刷子一样的东西”;有的人摸到了刺猬的尾巴,就会说“摸起来又细又长,所以是像绳子一样的东西”(图7.1)

图7.1 面向对象编程是什么?

同样的道理,随着程序员看问题角度的不同,对面向对象编程的理解也会仁者见仁,智者见智。

那么到底哪种理解方法才是正确的呢?其实无论是哪种方法,只要能够通过实际的编程将其付诸实施,那么这种方法就是正确的。诸位可以用自己的理解方法去实践面向对象编程。虽然是这么说,但如果仅仅学到了片面的理解方法,也是无法看到面向对象编程的全貌的,会感到对其概念的理解是模糊的。因此,下面我们就把各种理解方法和观点综合起来,以此探究面向对象编程的全貌

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

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

发布评论

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