Python 面向对象
面向对象:
发展历程
函数式编程 ===》 函数式编程+面向对象(低级基础)【经典类】 ===》 函数式+面向对象【新式类】(添加、修改新功能)
【经典类】
定义:class name
多继承:深度优先 从下至上
【新式类】
不管直接还是间接都是新式类
多继承:广度优先(横向优先 从左向右,)
定义:class name(object)
特性:更好更容易的进行代码的重用、扩展、封装、多态
定义:
class Person(object):
实例化:Person()
4493506.html
封装
继承
继承和对象无关
父类/基类 子类/派生类
多继承
class test(a,b,c)
父类中方法冲突则继承c
类成员:
字段(变量)
普通字段(存在self中)
静态字段(存在类中,即内存中)
访问格式 class.name
方法(函数)
方法执行的时候加括弧
普通方法:
对象触发 可以有多个参数 但必须要有self参数
def f1(self):
pass
类方法:
无需创建对象 类自身触发 只能有有1个参数 cls
@classmethod
def f1(cls):
pass
静态方法:
无需创建对象 类自身触发 可以有多个参数 参数自己定义
@staticmethod
def f1():
pass
属性(函数加上property装饰器变成属性)
@property
def fl(self):
pass
将方法伪造成字段 属性执行的时候不加括弧 只能用有一个self参数
新式类:
@property
def price(self):
pass
@price.setter 赋值
def price(self,value):
pass
@price.deleter 删除值
def price(self):
pass
类修饰符:
公有
私有:
只有类内部方法属性可以调用 外部无法调用访问
__fuck
__dict__
返回对象下所有东西并以字典格式打印
__str__