python继承语法和java有所不同:
示例:
class Person: #这是父类
def __init__(self,name)
self.name = name
def displayname(self)
print(self.name)
class Man(Person): #这是一个子类,它继承了Person类
'''略'''
定义抽象类,python通过类库abc实现抽象类,因此在定义抽象类时要从类库abc导入ABCMeta类和abstractmethod类
方法:
from abc import ABCMeta, abstractmethod
定义抽象类是,再在定义类中开始部分增加如下代码:
__metaclass__ = ABCMeta # 指定该类的元类是ABCMeta
在抽象类中定义抽象方法,要加上修饰符@abstractmethod
完整例子:
from abc import ABCMeta, abstractmethod
class Person(object):
__metaclass__ = ABCMeta
@abstractmethod
def func1(self):
pass # 空的所以用pass
所谓的多态,就是抽象类中定义的抽象方法在其不同子类中可以有不同实现。
定义抽象类的子类和上面的继承语法是一样的。