class BaseClass:
def do_something(self):
assert False, "Not implemented"
class DerivedClass(BaseClass):
def do_mystuff(self):
print "Do my stuff!"
def do_something(self):
print "Do something!"
if __name__ == "__main__":
c = DerivedClass()
c.do_something()
c.do_mystuff()
If we don't implement the do_something() method, an exception will be raised.In Python 2.6 onwards, we can achieve the same functionality in a more elegant manner with the help from abc (Abstract Base Class) module.
from abc import ABCMeta, abstractmethod
class BaseClass:
__metaclass__ = ABCMeta
@abstractmethod
def do_something(self): pass
class DerivedClass(BaseClass):
def do_mystuff(self):
print "Do my stuff!"
def do_something(self):
print "Do something!"
if __name__ == "__main__":
c = DerivedClass()
c.do_something()
c.do_mystuff()
No comments:
Post a Comment