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

    回忆滋润坚持
  • 相关阅读:
    Generate Parentheses
    Length of Last Word
    Maximum Subarray
    Count and Say
    二分搜索算法
    Search Insert Position
    Implement strStr()
    Remove Element
    Remove Duplicates from Sorted Array
    Remove Nth Node From End of List
  • 原文地址:https://www.cnblogs.com/james5d/p/14091238.html
Copyright © 2011-2022 走看看