如何理解 OOP

47 阅读1分钟

基本所有的高级语言都支持面向对象编程(Object Oriented Programming, OOP),理解 OOP 的概念是程序员的基本要求;然而很多书籍对 OOP 的讲解都是照本宣科,把一个简单的概念搞的高深莫测、晦涩难懂,别说初学者,就连已经工作的初级程序员都不一定理解。

很多书籍在讲解 OOP 时都这样写:

类是对某一类事物的描述,是抽象的;对象是实际存在的,是该类事务的一个个体。例如,动物就是一种“类”,狗、猫、人、羊就是一种“对象”。

这种说法完全正确,而且非常严谨,这就是类和对象的学术定义。但是,初学者真心看不懂,它用板砖拍自己脑门也想不明白,这究竟是个什么玩意。这就是典型的只说“官话”不说“人话”,恁娘。

在正式讲解 OOP 的概念之间,我们先来看两段代码,其中一段是C语言代码,没有使用 OOP,另外一段是 C++ 代码,使用了 OOP。

C语言是常见的面向过程编程语言,C++ 是常见的面向对象编程语言,C++ 是在C语言的基础上发展起来的,C++ 完全兼容C语言代码,有C语言基础的读者也可以顺利地阅读下面的 C++ 代码。

C语言是常见的面向过程编程语言,C++ 是常见的面向对象编程语言,C++ 是在C语言的基础上发展起来的,C++ 完全兼容C语言代码,有C语言基础的读者也可以顺利地阅读下面的 C++ 代码。