首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

面向对象高阶-描述符与设计模式

描述符

当一个类中,包含了三个魔术方法(__get__,__set__,__delete__)之一,或者全部时,那么这个类就称为描述符类

作用

描述符的作用就是对一个类中的某个成员进行一个详细的管理操作(获取,赋值,删除) 描述符就是代理了一个类中的成员的操作,描述符属于类,只能定义为类的属性

三个魔术方法

数据描述符:(完整)

同时具备三个魔术方法的类就是 数据描述符

非数据描述符:(不完整)

没有同时具备三个魔术方法的类就是 非描述符类

基本使用格式

把当前的描述符类赋值给一个需要代理的类中的成员属性

代码示例:

描述符应用解析

描述符的三种定义格式

设计模式

设计模式是前人为完成某个功能或需求,根据经验和总结,对实现的代码步骤和代码设计进行了总结和归纳,成为了实现某个需求的经典模式。

设计模式并不是固定的代码格式,而是一种面向对象编程的设计

单例(单态)设计模式

在当前脚本中,同一个类只能创建出一个对象去使用。这种情况就成为单例(单态)。

Mixin 混合设计模式

Mixin类

Mixin 必须是表示一种功能,而不是一个对象。

Mixin 的功能必须单一,如果有多个功能,那就多定义Mixin类

python 中的Mixin是通过多继承实现的

Mixin 这个类通常不单独使用,而是混合到其它类中,去增加功能的

Mixin 类不依赖子类的实现,即便子类没有继承这个Mixin,子类也能正常运行,可能就是缺少了一些功能。。

使用Mixin混入类的好处?

1.Mixin 这个混入类的设计模式,在不对类的内容修改的前提下,扩展了类的功能

2.Mixin 混入类为了提高代码的重用性,使得代码结构更加简单清晰

3.可以根据开发需要任意调整功能(创建新的Mixin混入类)避免设计多层次的复杂的继承关系。

示例:

抽象类(了解)

抽象类的定义:

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20191225A05P6K00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券