抽象类
- 抽象方法:没有具体内容的方法称为抽象方法
- 抽象方法的吧主要意义是规范了子类的行为和接口
- 抽象类的使用需要借助abc模块
import abc - 抽象类:包含抽象方法的类叫抽象类,同城称为ABC类
- 抽象类的使用
- 抽象类可以包含抽象方法,也可以包含具体方法
- 抽象类中可以有方法也可以有属性
- 抽象类不允许直接实例化
- 必须继承才可以使用,且继承的子类必须实现所有继承来的抽象方法
- 假定子类没有实现所有继承的抽象方法,则子类也不能实例化
- 抽象类的主要作用是设定类的标准,以便于开发的时候具有统一的规范
class Animal():
def sayHello(self):
pass
class Dog(Animal):
def sayHello(self):
print("问一下别人")
class Person(Animal):
def sayHello(self):
print("Kiss me")
d = Dog()
d.sayHello()
p = Person()
p.sayHello()
问一下别人
Kiss me
import abc
class Human(metaclass = abc.ABCMeta):
@abc.abstractmethod
def smoking(self):
pass
@abc.abstractclassmethod
def drink():
pass
@abc.abstractstaticmethod
def play():
pass
def sleep(self):
print("Sleeping......")