目录

面向对象思维方式的 C 语言实现方法

一、前言

面向对象编程,也就是大家说的 OOP(Object Oriented Programming)。面向对象的三个基本特征:封装、继承、多态。
封装:根据职责将属性(参数)和方法(函数)封装到一个抽象的类中。
继承:指可以让某个类型的对象获得另一个类型的对象的属性的方法。
多态:以封装和继承为前提,相同的方法调用不同的子类对象,产生不同的执行结果。
备注:本文只是简单介绍面向对象的概念,以及使用 C 语言实现的方法,为以后介绍一些面向对象功能模块打基础。

二、特征

1、封装

封装:根据职责将属性(参数)和方法(函数)封装到一个抽象的类中。以显示屏作为一个例子,显示屏最重要一个属性(参数)是分辨率大小,以及几个基本方法(行为)是初始化、读、写:

../img/20200913_21.jpg

补充说明:显示屏的读写操作入口参数还有其它参数(如:x、y 坐标等),这里为了简单,不深入显示屏具体操作。


2、继承

继承:指可以让某个类型的对象获得另一个类型的对象的属性的方法。继承派生区别:只是角度不同,继承是从子类的角度讲的,派生是从基类的角度讲的。 以显示屏作为一个例子,新进了一个显示屏,其硬件支持待机操作:

../img/20200913_31.jpg

补充说明:如果子类想操作父类的一些操作,只需把子类指针强制转成父类指针,之后按父类操作规范操作即可。


3、多态

多态:以封装和继承为前提,相同的方法调用不同的子类对象,产生不同的执行结果。它衍生两个概念:类(class)和 对象(object)。以显示屏作为一个例子,支持多种接口类型显示屏:

../img/20200913_41.jpg