标签:rac 抽象方法 实现 bst 继承 tac pass walk 归一化
抽象类基于继承演变而来,不能被实例化,用于规范子类,降低使用复杂度
import abc
class People(metaclass=abc.ABCMeta): #定义抽象类
all = "type" #抽象类还是类 可以有数据属性
@abc.abstractmethod #定义抽象方法 无需实现,用来规定子类必须有该方法
def eat(self):
pass
@abc.abstractmethod
def walk(self):
pass
class Teacher(People):
def eat(self):
print("can eat something..")
def walk(self):
print("can walk everywhere..")
def look(self):
print("can look something..")
class Student(People):
def eat(self):
print("can eat something..")
def walk(self):
print("can walk everywhere..")
# t = People()
# t.eat() #Can‘t instantiate abstract class People with abstract methods eat 不能实例化抽象类
t = Teacher()
t.eat()
t.walk()
t.look()
s = Student()
s.eat()
s.walk()
s.type() s继承父类的数据属性
抽象类的本质还是类,指的是一组类的相似性,包括数据属性(如type)和函数属性(如eat walk),而接口只强调函数属性的相似性。
抽象类是一个介于类和接口直接的一个概念,同时具备类和接口的部分特性,可以用来实现归一化设计
标签:rac 抽象方法 实现 bst 继承 tac pass walk 归一化
原文地址:https://www.cnblogs.com/ekura/p/9318460.html