python基础知识学习记录,day8

类方法
类对象使用的方法,其他方法不能被类对象使用通过@classmethod定义,格式
@classmethod
Def 类方法名(cls[,形参列表]):#cls特指类对象
函数体
python基础知识学习记录,day8
静态方法
在类中定义与类无关的方法
@staticmethod
Def 类方法名(cls[,形参列表]):#cls特指类对象
函数体
python基础知识学习记录,day8
__call__方法:像调用函数一样调用对象
python基础知识学习记录,day8方法的动态性
Python有一个重要的概念,一切皆对象,一切都可以赋值给变量。方法是随时可以被添加和修改的

python基础知识学习记录,day8
私有属性和方法(封装)
Python对于访问控制没有严格限制,通常我们约定双下划线开头的属性为私有,类内部可访问私有属性,外部不能(方法也是一种可以被执行的属性)
python基础知识学习记录,day8
私有方法:
python基础知识学习记录,day8
@property装饰器将方法变为属性来调用
python基础知识学习记录,day8
Python继承
一个子类可以继承多个父类

python基础知识学习记录,day8查询继承结构
python基础知识学习记录,day8
多态:同一方法由于对象不同会产生不同行为
python基础知识学习记录,day8
之前学的运算符实际上就是把方法给到了运算符号,比如a+b实际运行的是a.add(b)
python基础知识学习记录,day8重写这些运算方法就叫运算符的重载
python基础知识学习记录,day8
关于__init__和self
python基础知识学习记录,day8

python基础知识学习记录,day8深复制和浅复制

python基础知识学习记录,day8组合:代码复用的另一种方法,继承是子类对父类的属性、方法的传承,而组合是把不同属性方法放在一起
python基础知识学习记录,day8
python基础知识学习记录,day8

设计模式
面向对象语言特有的内容,在面临特定情况下特有的模式

工厂模式实现了创建者与调用者分离,使用专门工厂类将选择实现类,创建对象进行同统一管理和控制。
python基础知识学习记录,day8