2021-01-13

方法的重载

python中没有重载
参数没有类型,参数数量也是可变的
定义多个重名方法,只有最后一个有效

方法的动态性

可以动态的为类添加新方法,或动态的修改类已有的方法
在这里插入图片描述

私有属性和私有方法(实现封装)

  1. 两个下划线开头的属性是私有的
  2. 内部可以访问私有属性(方法)
  3. 外部不能直接访问
  4. 外部通过-类名-私有属性(方法)名访问
    在这里插入图片描述
    在这里插入图片描述

@property装饰器

可以将一个方法的调用方式变为”属性调用“ 不能设置属性 赋值
在这里插入图片描述
在这里插入图片描述

面向对象的三大特征

封装

隐藏对象的属性和实现细节,只对外提供必要的方法

继承

让子类具有父类的特性,提高了代码的重用性
语法格式

class 子类类名(父类1[,父类2,…])
类体
object类是所有类的父类
在这里插入图片描述
私有不能直接调用

类成员的继承和重写

成员继承:子类继承父类除构造方法之外的所有成员
方法重写:子类可以重新定义父类中的方法

mro()可以输出这个类的继承结构层次,方法解析顺序
dir()可以查看对象的所有属性
super()获得父类定义
在这里插入图片描述

object跟类

所有类都有object的属性和方法

重写_str_()方法

重写:子类可以重新定义父类中的方法,并且会覆盖父类中的方法
返回对象的描述
在这里插入图片描述
多重继承
一个子类可以有多个直接父类

多态

同一方法调用由于对象不同产生不同的行为
要点:
对态是方法的多态,属性没有多态
有两个必要条件:继承、方法重写

特殊方法和运算符重载

运算符实际上通过调用对象的特殊方法实现
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

特殊属性

在这里插入图片描述

对象的浅拷贝和深拷贝

浅拷贝:对象包含的子对象的内容不拷贝
深拷贝:递归拷贝对象中包含的子对象
变量的赋值:形成两个变量,实际还是指向同一个对象
b=Person()
c=b

组合

“is-a "可以使用继承,"has-a"可以使用组合
在这里插入图片描述
在这里插入图片描述

设计模式-工厂模式的实现

实现了创建者和调用者的分离
在这里插入图片描述

单例模式

确保一个类只有一个实例

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值