python中方法没有重载
其他语言可以定义多个重名的方法,只需要保证方法签名唯一,
方法签名包含三个部分:方法名、参数数量、参数类型
方法的动态性
python是动态语言,可以动态的为类添加方法
私有属性和私有方法(实现封装)
1、两个下划线开头的属性是私有的,其他为公开的
2、类内部可以访问私有属性(方法)
3、类外部不能直接访问私有属性(方法)
4、类的外部可以通过"_类名__私有属性名"访问私有属性
私有方法
@property装饰器
将一个方法的调用变成属性调用
给属性增加get,set方法
面向对象三大特征:
继承、封装、多态
继承,子类继承父类的已有的特征
object根类
重写__str__()方法,用于返回对象的描述
多重继承
继承多个父类的特征
mro():方法解析顺序 如果父类有相同名字的方法
super():获得父类定义,不是获得对象
多态
多态是方法的多态,属性没有多态
多态存在的必要条件:继承、方法重写
特殊属性
组合
继承:is a
组合:has a
设计模式
工厂模式
单例模式:一个类只有一个实例,提供一个访问该实例的全局访问点