ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Python模拟抽象类

Python模拟抽象类

原创 Linux操作系统 作者:tyoodz 时间:2012-04-27 15:10:59 0 删除 编辑

Python中没有abstract关键字定义抽象类,但是可以通过NotImplementedError类模拟抽象类

def abstract ():
  raise NotImplementedError("Abstract")

class Person:
  def __init__ (self):
    if self.__class__ is Person:
      abstract()

class Student(Person):
  def __init__ (self):
    Person.__init__(self)
    print ("I am student")

stu = Student()

per = Person()

---------- Python ----------
I am student  #这行输出了
Traceback (most recent call last):
  File "aa.py", line 19, in
    per = Person()
  File "aa.py", line 10, in __init__
    abstract()
  File "aa.py", line 5, in abstract
    raise NotImplementedError("Abstract")
NotImplementedError: Abstract   #直接实例化Person类会报错

输出完毕 (耗时 0 秒) - 正常终止

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25361369/viewspace-722369/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 二叉排序树
下一篇: mysql号段问题
请登录后发表评论 登录
全部评论

注册时间:2011-05-16

  • 博文量
    55
  • 访问量
    71938