抽象类概念:
- 抽象类是一个特殊的类,它的特殊之处在于只能被继承,不能被实例化,需要借助python模块实现;
- 抽象类是从一堆类中抽取相同的内容而来的,内容包括数据属性和函数属性。
- 抽象类与普通类的不同之处在于:抽象类中有抽象方法,该类不能被实例化,只能被继承,且子类必须实现抽象方法
python中的abc模块
import abc #利用abc模块实现抽象类
class shuiguo(metaclass=abc.ABCMeta):
all_type='sg'
@abc.abstractmethod #定义抽象方法,无需实现功能
def name(self):
pass
@abc.abstractmethod #定义抽象方法,无需实现功能
def func(self):
pass
class Apple(shuiguo): #子类继承抽象类,可是必须定义read和write方法
def name(self):
print('我是苹果')
def func(self):
print('好吃')
class Pear(shuiguo): #子类继承抽象类,可是必须定义read和write方法
def name(self):
print('我是梨子')
def func(self):
print('yunfeizhike')
apple =Apple()
pear=Pear()
apple.func()
pear.name()
print(pear.all_type)
print(apple.all_type)
- 抽象类的本质仍是类,指的是一组类的类似性,包括数据属性(如all_type)和函数属性;
- 抽象类是一个介于类和接口之间的一个概念,同时具有类和接口的部分特性