一 面向过程
函数式编程
优点:
增加代码重用性
增加代码可读性
二 面向对象
1. 面向对象方式格式:
定义:
class 类名: #定义一个类,类名首字母大写
def 函数名(self): #在类中编写一个方法
pass
调用:
x1 = 类名() #创建一个对象(实例化一个对象)
x1.函数名() #通过对象调用其中一个方法
****构造方法
class 类名:
def __init__(self, name, age, gender):
self.name = name
self.age = age
self.gender = gender
obj = 类名(name, age, gender)
3.什么时候写,如何写?
1.归类+提取公共值
2.在指定类中编写和当前类相关的所有代码+提取公共值
4.面向对象三大特性: 封装 / 继承 / 多态
1.封装
1.将功能封装到一个类中
class 类名:
def a():pass
def b():pass
def c():pass
2.对数据封装到一个对象中
class 类名:
def __init__(self,name, age ,gender):
self.name = name
self.age = age
self.gender = gender
obj = 类名(name,age,gender)
2.继承
1.单继承
class Base: #父类(基类)
pass
class Foo(Base): #子类(派生类)
pass
obj = Foo()
查找规则:先自己类中找方法,自己没有,再去父类中找方法
2.多继承 (只有python支持)
class Base1:
pass
class Base2:
pass
class Foo(Base1,Base2):
pass
obj = Foo()
查找规则:先自己类中找方法,自己没有找父类,左边优先
*************self是哪个类的对象,那么就从该类开始查找(自己没有找父类)*********************************
3.多态:
由于python原生态支持多态,所以没有特殊性.