python 使用抽象基类,实现(类似java)接口(继承抽象类的方法来实现具体类)
时间:2021-04-17
本文章向大家介绍python 使用抽象基类,实现(类似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
原文地址:https://www.cnblogs.com/maxiaohei/p/14670879.html
- 病毒分析 | 一只“蜗牛”偷梁换柱,靠锁主页进行牟利
- 移位寄存器的工作原理
- ROM 单元
- 超前进位加法器
- 算法和数据结构—— 查找和排序
- CVE 2017-0199漏洞利用的新姿势
- Java 正则表达式 StackOverflowError 问题及其优化
- 权限后门系列之一:手动打造WordPress权限后门
- 浅谈用户行为分析之用户身份识别:cookie 知多少?
- 串口通信控制器的Verilog HDL实现(四) 接收模块的Verilog HDL 实现
- 串口通信控制器的Verilog HDL实现(三) 发送模块的Verilog HDL 实现
- 串口通信控制器的Verilog HDL实现(二) 波特率发生器模块
- 串口通信控制器的Verilog HDL实现(一) 顶层模块
- 双口同步RAM
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Linux查看进程的所有信息的方法示例
- 新版VPS主机管理面板WDCP安装及使用体验-国产简单易用型VPS面板
- linux中普通用户的定时任务详解
- 详解在Linux中清空或删除大文件内容的5种方法
- 教你一招实现Linux中的文本比对
- 怎么禁用 Ubuntu 服务器中终端欢迎消息中的广告
- Linux系统下部署项目的设置方法
- Linux中设置路由以及虚拟机联网图文详解
- 在Linux中如何一次重命名多个文件详解
- Vim自定义高亮分组以及一些实用技巧小结
- Linux redis-Sentinel配置详解
- 使用 Apache Web 服务器配置两个或多个站点的方法
- Linux下命令行cURL的10种常见用法示例
- Apache Web 服务器的安装配置方法
- Linux(Ubuntu 18.04)上安装Anaconda步骤详解