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

    回忆滋润坚持
  • 相关阅读:
    jfreechart简单介绍---曲线图
    Java监听器
    在java里actionPerformed是做什么用的
    sqlserver,oracle,mysql等的driver驱动,url怎么写
    ibatis入门实例(完整)
    java连接access数据库的三种方式以及远程连接
    elementui入门以及nodeJS环境搭建
    vue路由
    vue模板语法下
    vue模板语法上
  • 原文地址:https://www.cnblogs.com/james5d/p/14091238.html
Copyright © 2011-2022 走看看