1. 面向对象 Object Oriented
其实面向对象的逻辑很简单,也非常符合人类思考的直觉。正是因为接近人类思维方式,所以才成为现代编程语言的主流。
面向对象相对于面向过程,两者编程逻辑完全不同。但面向对象也会向下兼容面向过程——Python里面也能实现面向过程。
过程类似于函数,执行后不返回结果;
相对的,函数会返回结果。
面向对象的编程逻辑:
把功能需求的实现按步骤实现;
将不同的独立功能,封装成一个个独立的函数;
函数 - 可重复使用的代码块;
函数包括内置的函数,也包括用户自己编写的函数;
最后写成的代码,通常就是逐步地调用不同的函数。
面向过程的缺点:
不注重分工和角色,注重过程和实现步骤;
需求和功能太复杂,那么函数也会变得很复杂;
在复杂项目中没有固定的模式,增加了开发的难度;
函数的交叉引用和嵌套,会带来灾难性的后果。
面向对象的编程逻辑:
在一个对象中封装多个方法和属性,以实现不同的职责;
根据职责的不同,定义不同的对象;
通过不同对象调用不同的方法,来实现项目的功能需求。
面向对象的优点:
看重对象和对象的职责;
不同对象有不同的属性,承担不用的角色;
开发套路固定,可以应付复杂的项目需求;
顺序调用不同对象,对象调用不用的属性和方法。
这里我们用炒菜这么一个小例子进行对比说明。
面向过程:把炒菜分解为不同步骤——把菜放入锅内->点火->加油->翻炒->出锅,菜就这么炒好了。
面向对象:
先抽象出不同的对象,不同对象有不同的属性和方法;
菜是一个对象,菜有品种、重量等属性;
锅是一个对象,有加菜、点火、翻炒、出锅等方法;
菜.种类+菜.重量+,锅.加菜 -> 锅.点火 -> 锅.翻炒 -> 锅.灭火 -> 锅.出锅;
如果实现得得更细一点,还可以增加锅的容量、温度等属性或者其它方法。
通过对象的方法或属性,来实现某些功能的逻辑,相对更符合人类的思维方式。
学号202113430104万熙