Python中实现约束的方式 --Python

知识共享许可协议 版权声明:署名,允许他人基于本文进行创作,且必须基于与原先许可协议相同的许可协议分发本文 (Creative Commons
1、约束的实现

Foo类继承了父类Base,Base中存在f方法,f方法中抛出一个NotImplementedError的异常。在Foo中没有重写Base中的f方法时,调用f方法,抛出异常,表示Foo方法中必须重写f方法。通过这种做法,强制类中必须重写父类中的方法,进而可以实现约束。

# coding:utf-8
class Base(object):
    def f(self):
        raise NotImplementedError('f方法必须被重写!')

class Foo(Base):
    pass

obj = Foo()
obj.f()
'''
NotImplementedError: f方法必须被重写!
'''

重写父类中的f方法自然就没有异常信息。

# coding:utf-8
class Base(object):
    def f(self):
        raise NotImplementedError('f方法必须被重写!')


class Foo(Base):
    def f(self):
        pass

obj = Foo()
obj.f()
2、约束的应用场景

多个类,内部都必须有某些方法时,需要使用基类+异常进行约束

猜你喜欢

转载自blog.csdn.net/Thanlon/article/details/94592895