python中方法没有重载,只有最后一个有效。
python是动态语言,可以为类添加新得方法,或者修改类得已有方法。
私有属性和私有方法(实现封装):
python没有严格的访问控制限制
1.通常约定两个下划线开头的属性是私有的。其他的为公共的。
2.类内部可以访问私有属性(方法)
3.类外部不能直接访问私有属性(方法)
4.类外部可以通过“_类名__私有属性(方法)名“访问私有属性(方法)
方法本质也是属性
@property装饰器
@property可以将一个方法的调用方式变成属性调用
面向对象的三大特征介绍:
继承:让子类具有父类的特性,提高代码重用性
封装(隐藏):通过前面学习的”私有属性、私有方法"的方式,实现”封装“。没有严格的语法级的“访问控制符”。
多态:指的是同一个方法调用由于对象不同回产生不同的行为
继承:
调用格式:
class 子类(父类)
__init__(self,参数列表)
查看类的继承层次结构:
通过类的方法mro()或者类的属性__mro__可以输出这个类的继承层次结构。
super()获得父类的定义,而不是对象
多态:
是指同一个方法调用由于对象不同可能会产生不同的行为。
1.多态是方法的多态,属性没有多态
2.多态的存在有2个必要条件 继承、方法重写。
特殊属性:
obj.__dict__ 对象的属性字典
obj.__class__ 对象所属的类
obj.__bases__ 类的基类元组(多继承)
obj.__base__ 类的基类
obj.__mro__ 类的层次结构
obj.__subclasses__() 子类列表
is-a 关系,使用继承
has-a关系,使用组合
设计模式_单例模式实现:
单例模式的核心作用是确保一个类只有一个实例,并且提供一个访问该实例的全局访问点。



