zoukankan      html  css  js  c++  java
  • 抽象类

    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')

    回忆滋润坚持
  • 相关阅读:
    心得sql空值的应用
    C#开发GIS应用简明教程(二)
    网页右下角弹出窗口
    弹出输入框方法汇总
    C#开发GIS应用简明教程(三)
    防刷新的另一种方法
    相册
    网站下载速度限制方法
    .NET下多线程初探
    用DECODE做交叉报表
  • 原文地址:https://www.cnblogs.com/james5d/p/14091238.html
Copyright © 2011-2022 走看看