一、基本概念
1. 面向过程
(1) 概念:以过程为中心的编程思想,就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。
(2) 优点:极大的降低了写程序的复杂度,只需要顺着要执行的步骤,堆叠代码即可。因为程序的流程很清楚,按着模块与函数的方法可以很好的组织。
(3) 缺点:只能用来解决一个问题,代码牵一发而动全身。
(4) 应用:用于基本很少改变的场景,著名的例子有Linux内核、git、以及Apache HTTP Server等。
2. 面向对象
(1) 概念:程序设计的核心是对象,面向对象的方法主要是把事物给对象化,对象包括属性与方法。
(2) 优点:易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统更加灵活、更加易于维护。
(3) 缺点:可控性差,无法像面向过程的程序设计一样可以精准的预测问题的处理流程与结果。
(4) 应用:需求经常变化的软件,一般需求的变化都集中在用户层,如互联网应用、企业内部软件以及游戏等。
二、面向对象中的名词解析
1. 类:类就是一个模板,模板里可以包含多个函数,每个函数都能实现一些功能。
2. 对象:根据模板(类)创建的实例,通过这个实例(对象)可以执行类中的函数。
3. 属性:类中所定义的变量
4. 方法:类中所定义的函数
5. 实例化:通过类创建对象的过程
6. 总结:对象的抽象是类,类的具体化就是对象;也可以说类的实例化是对象,对象是类的实例。
》》》实例说明——类与对象的创建
# -*- encoding:utf-8 -*- ''' 实例说明——类与对象的创建 ''' class ClassName: #创建类,ClassName为类名 Alary = 10000 #类的一个属性 def Fun1(self): #方法1 pass #方法1的技能 def Fun2(self): #方法2 pass #方法2的技能 obj = ClassName() #创建对象,obj为对象名
三、特征
1. 封装
(1) 概念:封装是将对象运行时所需的资源封装在程序对象中。简单来说,就是将内容封装起来,以后再去调用被封装的内容。
(2) 调用封装的内容有2种方法:
——通过对象直接调用
——通过self间接调用
》》》实例说明——面向对象的特征:封装
# -*- encoding:utf-8 -*- ''' 实例说明——面向对象的特征:封装 ''' class Student: def __init__(self, name, age): self.name = name self.age = age def detail(self): #调用时对象名会传给self参数,如最后一句 print(self.name) print(self.age) obj1 = Student('Jack',15) #将'Jack'和15分别封装到obj1的self的name和age属性中 print(obj1.name) #通过对象直接调用name属性和age属性 print(obj1.age) obj2 = Student('Sahra',13) #将'Sahra'和13分别封装到obj2的self的name和age属性中 obj2.detail() #通过self间接调用name属性和age属性