zoukankan      html  css  js  c++  java
  • python 使用抽象基类,实现(类似java)接口(继承抽象类的方法来实现具体类)

    定义抽象类, 类的抽象,不可以被实例化的类, 类似于java的接口概念

    `import abc

    class Book(metaclass=abc.ABCMeta):
    """抽象类, 不能被实例化"""
    all_type = "file"

    @abc.abstractmethod # 定义抽象方法
    def read(self):
        "定义读方法,"
        pass
    
    @abc.abstractmethod
    def write(self):
        "抽象写方法"
        pass
    

    class Trade(metaclass=abc.ABCMeta):
    """抽象类, 不能被实例化"""
    @abc.abstractmethod
    def sell(self):
    print("sell 100 元!")
    `

    继承方式实现实现抽象类的具体类

    `class Math(Book, Trade): # 子类继承抽象类
    def read(self):
    "AllFile 抽象类的方法具体实现"
    print("text read")

    def write(self):
        "AllFile 抽象类的方法具体实现"
        print('txt write')
    
    def sell(self):
        "第一个抽象类的具体实现"
        super(Math, self).sell()
    
    def len_page(self):
        """
        实现类自己的方法
        """
        print("len page")`
    

    应用

    t = Math() t.read() t.sell() t.len_page()

    运行结果

    text read sell 100 元! len page

    LESS IS MORE !
  • 相关阅读:
    apache-kylin 权威指南—读书笔记
    数据仓库之数据仓库环境——读书笔记
    R 语言—基本绘图
    MapReduce 过程分析
    HDFS 的运行机制
    R 语言贷款月供数据分析
    UML 简介笔记
    为什么要学习 UML?
    scrum 项目的基本模式
    elasticsearch 集群配置
  • 原文地址:https://www.cnblogs.com/maxiaohei/p/14670879.html
Copyright © 2011-2022 走看看