定义抽象类, 类的抽象,不可以被实例化的类, 类似于java的接口概念
`import abc
class Book(metaclass=abc.ABCMeta):
"""抽象类, 不能被实例化"""
all_type = "file"
@abc.abstractmethod # 定义抽象方法
def read(self):
"定义读方法,"
pass
@abc.abstractmethod
def write(self):
"抽象写方法"
pass
class Trade(metaclass=abc.ABCMeta):
"""抽象类, 不能被实例化"""
@abc.abstractmethod
def sell(self):
print("sell 100 元!")
`
继承方式实现实现抽象类的具体类
`class Math(Book, Trade): # 子类继承抽象类
def read(self):
"AllFile 抽象类的方法具体实现"
print("text read")
def write(self):
"AllFile 抽象类的方法具体实现"
print('txt write')
def sell(self):
"第一个抽象类的具体实现"
super(Math, self).sell()
def len_page(self):
"""
实现类自己的方法
"""
print("len page")`
应用
t = Math() t.read() t.sell() t.len_page()
运行结果
text read sell 100 元! len page