美文网首页
代码设计操作

代码设计操作

作者: 小章章承龙 | 来源:发表于2020-08-10 21:47 被阅读0次

1.多继承

class A:

def get_a(self):

print 'a'

class B:

def get_b(self):

print 'b'

class C(A, B):

pass

c = C()

c.get_a()

c.get_b()

2.python的元编程特性

A.__bases__ += (B,)

a.get_b()

实际上等同于: class C:

pass

C.__bases__ += (A, B, )

3.方式三:可以使用插件的方式,只是修改对象的行为而不是类的行为的。这样的话,可以更加好的便于扩展操作的

class PlugIn(object):

def __init__(self):

self._exported_methods = []

def plugin(self, owner):

for f in self._exported_methods:

owner.__dict__[f.__name__] = f

def plugout(self, owner):

for f in self._exported_methods:

del owner.__dict__[f.__name__]

class AFeature(PlugIn):

def __init__(self):

super(AFeature, self).__init__()

self._exported_methods.append(self.get_a_value)

def get_a_value(self):

print 'a feature.'

class BFeature(PlugIn):

def __init__(self):

super(BFeature, self).__init__()

self._exported_methods.append(self.get_b_value)

def get_b_value(self):

print 'b feature.'

class Combine:pass

c = Combine()

AFeature().plugin(c)

BFeature().plugin(c)

c.get_a_value()

c.get_b_value()

相关文章

  • 代码设计操作

    1.多继承 class A: def get_a(self): print 'a' class B: def ge...

  • 基于ReactiveCocoa和MVVM设计的购物车基本操作实现

    title: 基于ReactiveCocoa和MVVM设计的购物车基本操作实现代码解析 categories: i...

  • 函数式编程

    对应的使用函数是编程的操作逻辑:可以简化代码的开发总量和设计操作理论操作。 函数是编程的核心对应的是函数式对象的。

  • JavaScript日期代码块

    我们在设计前端的时候会遇到“昨天”、“上周”、“上月”、“上季度”、“去年”等操作,会涉及JavaScript代码...

  • 2018-03-09 创建用户注册模块

    项目中JDBC代码的设计: DAO:Data Access Object 数据访问对象 将一组操作定义在一...

  • Kotlin学习之与Java的互操作

    在 Kotlin 中调用 Java 代码 Kotlin 在设计时就考虑了 Java 互操作性。可以从 Kotlin...

  • List 中 subList的踩坑记

    1. 遇到的问题 看异常字面意思是同时操作异常,那么怎么会同时操作呢? 2. 示例代码 3. 查找原因 这里设计到...

  • 一段多态的javascript代码—多态

    一段多态的javascript代码—多态 《javascript设计模式与开发实践》 定义:同一操作作用于不同的对...

  • PHP基础10:对象

    面向对象编程(OOP)可以进行更干净的设计,更轻松的维护代码,并且大大提高代码的可重用性。OOP诠释了数据与操作数...

  • Python学习笔记(12) 采集网页html源码

    一、操作步骤 对于学习网页设计的人来说,有时候遇到了自己很喜欢的网页,却得不到它的html代码,或者得到的代码不完...

网友评论

      本文标题:代码设计操作

      本文链接:https://www.haomeiwen.com/subject/elbuzhtx.html