文章目录
1.面向对象
- 面向过程
- 函数式编程
- 面向对象
1.1面向过程
所谓过程就是我们解决问题的步骤,一步步的按照流程走,有先后之分
整个设计好比流水线,思维上比较机械化
优缺点:
- 优点
- 复杂的问题流程化,将问题分解简化
- 缺点
- 拓展性不好,
1.2面向对象
核心是对象。
正式来说
- 对象是一个数据以及相关行为的集合
- 面向对象是功能上指向建模对象
通过数据和行为方式来描述交互对象的集合
在python中,一切皆为对象
优缺点
- 优点
- 解决程序的拓展性
- 缺点
- 就是复杂度远高于面向过程
- 交互式解决问题,无法准确预测结果
在现实世界中,以我们为例
类就是类别、种别
对象就是特征和技能的统一体
类则是这一系列对象的特征和技能的结合
对于现实世界,先有个体(即对象),才有类别;但对于程序,必须现有类,然后才有对象
1.3面向对象编程
OPP(object oriented programming)
其实就是一种程序设计思想,OOP把对象作为程序的一个基本单元,一个对象包含了数据和操作数据的函数。
在python中,所有数据类型都可以视为对象,同时,我们也可以自定义对象
自定义的对象的数据类型就是面向对象中类(CLASS)的概念
stu1={
'name':'Tom','score':90}
stu2={
'name':'Jack','score':80}
stu3..........
如果是面向对象
class stu:
def __init__(self,name,score):
self.name=name
self.score=score
def find_score(self):
print(self.name,":",self.score)
stu1=stu('Tom',99)
stu1.find_score()
-
类(Class): 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。
-
**方法:**类中定义的函数。
-
**类变量:**类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外。类变量通常不作为实例变量使用。
-
**数据成员:**类变量或者实例变量用于处理类及其实例对象的相关的数据。
-
**方法重写:**如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个过程叫方法的覆盖(override),也称为方法的重写。
-
**局部变量