一、面向过程编程
什么是面向过程编程
面向过程编程是一种编程思想,核心是“过程”二字。面向过程编程是一种基础的编程思想,它考虑的是实际地做事步骤。一般的面向过程是从上往下一步一步的走,所以面向过程最重要的是模块化的思想方法。基于该思想编写程序就好比在编写一条流水线,是一种机械式的编程方式。
举例:现在我们有这么一个要求:把大象装进冰箱。那么使用面向过程编程脑子中应该时刻想着我先干什么再干什么后干什么,也就是:1. 先打开冰箱门;2. 把大象装进去;3. 关闭冰箱门。
优点:负责的问题流程化,进而简单化
缺点:可扩展性极差
什么是面向对象编程
面向过程编程也是一种编程思想,核心是对象二字。(要理解对象为何物,必须把自己当成上帝,上帝眼里世间存在的万物皆为对象,不存在的也可以创造出来。面向对象的程序设计好比如来设计西游记,如来要解决的问题是把经书传给东土大唐,如来想了想解决这个问题需要四个人:唐僧,沙和尚,猪八戒,孙悟空,每个人都有各自的特征和技能(这就是对象的概念,特征和技能分别对应对象的数据属性和方法属性),然而这并不好玩,于是如来又安排了一群妖魔鬼怪,为了防止师徒四人在取经路上被搞死,又安排了一群神仙保驾护航,这些都是对象。然后取经开始,师徒四人与妖魔鬼怪神仙交互着直到最后取得真经。如来根本不会管师徒四人按照什么流程去取),对象是特征与技能的结合体,基于面向对象设计程序就好比在创造一个世界,你就是这个世界的上帝,存在的皆为对象,不存在的也可以创造出来,与面向过程机械式的思维方式形成鲜明对比,面向对象更加注重对现实世界的模拟,是一种“上帝式”的思维方式。
优点:可扩展性强
缺点:编程复杂度大大提高。
二、类与对象
什么是类
在上面我们介绍了面向对象编程以及对象的概念。那么什么是类呢?一看到类我们首先想到的是种类,类其实就是种类的意思,是一系列相似的对象的集合体,对象是具体的实例,而类是虚拟的,不是客观存在的。举个例子:人类是一个虚拟的概念,我们无法通过人类去具体到某个人或物体,而你就是对象,是一个具现化的一个个体。
在现实世界中:世界上肯定是先出现各种各样的实际存在的物体,然后随着人类文明的发展,人类站在不同的角度总结出了不同的种类,如人类、动物类、植物类等概念,也就说,对象是具体的存在,而类仅仅只是一个概念,并