面向对象编程思想

MJX2022/12/05Python面向对象

面向过程

传统的面向过程的编程思想总结起来就八个字 —— 自顶向下,逐步细化!

首先我们会将要实现的功能描述为一个从开始到结束按部就班的连续的“步骤”。

然后我们会依次逐步完成这些步骤,如果某一个步骤的难度较大,又可以将该步骤再次细化为若干个子步骤,以此类推,一直到结尾并得到我们想要的结果。面向过程就是把要开发的系统分解为若干个步骤,每个步骤就是函数,当所有步骤全部完成以后,则这个系统就开发完毕了!

举个例子:我们报名学习这件事情,可以分成哪些步骤?

开始 → 学生 提出报名,提供相关材料 → 学生 缴纳学费,获得缴费凭证 → 教师 凭借学生缴费凭证进行分配班级 → 班级 增加学生信息 → 结束。

所谓的面向过程,就是将上面分析好了的步骤,依次执行就行了。

面向对象

要想明白什么是面向对象,我们要先知道什么是对象。网上说一切皆对象,虽然也对,但对于没有接触面向对象的人来说就听的云里雾里。而我更喜欢另一种说法:对象就是一个容器,这个容器包括了两种东西 属性方法 。就拿我们人来说,每一个人就是一个对象。每个人都有名字、年龄、身高、体重等等,这就是 属性 。每个人都会呼吸、吃饭,这对应的就是 方法

所以使用面向对象的思想我们能跟好的模拟现实世界,与真实的业务逻辑的保持一致。因为在现实世界中,任何一个功能的实现都可以看做是一个一个的实体在发挥其各自的“功能”(能力)并在内部进行协调有序的调用过程!

所以,面向过程是根据业务流程组织我们的代码,面向对象就是根据程序涉及的主体组织我们的代码。

哪个更好

两者的区别:

① 都可以实现代码重用和模块化编程,面向对象的模块化更深,数据也更封闭和安全。

② 面向对象的思维方式更加贴近现实生活,更容易解决 大型的复杂的 业务逻辑。

③ 从前期开发的角度来看,面向对象比面向过程要更复杂,但是从 维护和扩展 的角度来看,面向对象要远比面向过程简单。

④ 面向过程的代码执行效率比面向对象高。

使用什么要根据实际情况来定。

这里就是把面向对象的编程思想介绍了一下,如果看不懂也没有关系。后面结合代码来看就会慢慢明白了。

对象和类

什么是对象,在上面我们已经讲过了。现在,我们来了解一下类。类组个词就是分类,上面我们说每一个人都是一个对象,所有的人都归属于人类。比如说,科学上就把生物按照界、门、纲、目、科、属、种来进行分类。具有相同特征的生物就会分到一类。所以,类就是对具有相同属性对象的描述(这里的相同不是指属性值相同而是具有相同的属性。比如说我们都有名字这个属性,但是你叫张三他叫李四。)。而对象就是类的具体实例。