当前位置:嗨网首页>书籍在线阅读

05-面向对象编程

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

9.2 面向对象编程

面向对象编程(OOP)是计算机科学中一个年代久远的编程范式。现在所知的一些OOP概念最开始出现于上个世纪50年代,可是直到1967年Simula及后来Smalltalk语言的出现,可辨识的OOP才应运而生。

OOP的基础理念非常简单直观:对象是一个逻辑相关的数据和功能的集合。它以人类对世界的自然理解为设计理念。好比一辆车,它有数据(品牌、型号、门数、VIN,等等)和功能(加速、移动、开门、开大灯,等等)。此外,OOP使得编程人员能够以抽象(一辆车)和具体(某辆具体的车)的思维去思考事物。

在开始之前,先了解一些跟OOP相关的基本词汇。类指的是通用的东西(车)。实例(或者对象实例)指具体的东西(一辆具体车,比如“My Car”)。功能(加速)称作方法。跟类相关,但不涉及特定实例的功能叫作类方法(比如,“create new VIN”可能就是一个类方法:它不特指某辆具体的车,的确,我们并不希望某辆具体的车能够创建一个新的、合法的VIN)。

OOP还提供了一个层次分明的类继承框架。例如,可以存在一个更加通用的交通工具类。每个交通工具可能有行驶范围(最大续航距离),但不像汽车,它可能有轮子(船也是一种交通工具,但它很可能没有轮子)。可以说交通工具是车的父类,车是交通工具的子类。而交通工具类可能有多个子类:车、船、飞机、摩托车,等等。同样,这些子类也可能还有子类。例如,船可能会有它自己的子类,帆船、划艇、独木舟、拖船、摩托艇等。

下面会使用汽车作为例子来贯穿本章,因为它是每个人在现实生活中都可能会触及到的(即使不感兴趣)真实对象。