抽象类

demo1.py
# 抽象类
# 1 抽象类要有抽象方法
# 2 要有抽象类的定义语句
# 3 抽象方法要被继承的,不然毫无意义
from abc import ABCMeta,abstractmethod
class animal(metaclass=ABCMeta):
__metaclass__ = ABCMeta # 抽象类声明
def __init__(self,name,age):
self.name = name
self.age = age
# 抽象方法
@abstractmethod
def say(self):# 只定义不实现具体的内容,子类必须实现父类的抽象方法
pass
class dog(animal): # 父类是抽象类 1.实现父类的抽象方法 2.子类本身也是抽象类
def __init__(self,name,age):
super().__init__(name,age)
def say(self):
print('我是子类,实现类第父类的抽象方法')

demo2.py


from abc import ABCMeta,abstractmethod
# 学生 -- 去教室读书
# 老师 --去教室上课
# peope: name,age 方法:gotoclass
class people(metaclass=ABCMeta):
def __init__(self,name,age):
self.name = name
self.age = age
@abstractmethod
def goto_class(self):
pass
class student(people):
def __init__(self, name,age,coursename):
super().__init__(name,age)
self.coursename = coursename
# 例如开发忘记写goto_class方法了
def goto_class(self):
print('我是学生,教室读书')
class teacher(people):
def __init__(self,name,age, tech_coursename):
super().__init__(name, age)
self.coursename = tech_coursename
def goto_class(self):
print('我是老师,去教书')
zs = student('王二',19,'python')
ls = teacher('李四',24,'python')

回忆滋润坚持
原文地址:https://www.cnblogs.com/james5d/p/14091238.html