Python基础-继承与多态
来源:互联网 发布:金融行业数据分析报告 编辑:程序博客网 时间:2024/05/20 08:24
继承
基类或父类或超类
#!/usr/bin/env python3# -*- coding: utf-8 -*-# 基类# object 表示Person是继承 object 且归根到底所有类都继承Objectclass Person(object): # 类似java构造器 # __init__ 函数的第一个参数一定是 self # self 表示创建的实例本身 def __init__(self, name, age): self.name = name self.age = age # 对象的方法 def toString(self): print("%s : %s" % (self.name, self.age))
子类继承 基类或父类或超类
子类继承 基类或父类或超类意味着父类所以的方法都可以使用,且子类可以有自己独有的方法
#!/usr/bin/env python3# -*- coding: utf-8 -*-# 继承from Person import *# Man 继承了 Person 的所有方法class Man(Person): # 子类只有的方法 def manPrint(self): print("I' m a man")
实例
#!/usr/bin/env python3# -*- coding: utf-8 -*-# 继承from Man import *# 子类Man 继承父类 Person 的实例mMan= Man("王大锤", "18")mMan.toString()# 子类方法mMan.manPrint()
运行结果
D:\PythonProject\sustudy>python main.py王大锤 : 18I' m a man
多态
表现形式,一句话就是:重写父类的方法
示例
#!/usr/bin/env python3# -*- coding: utf-8 -*-# 继承from Person import *# Man 继承了 Person 的所有方法class Man(Person): # 子类只有的方法 def manPrint(self): print("I' m a man") # 多态,重新父类的方法 def toString(self): print("重新父类方法,体现 多态 %s : %s" % (self.name, self.age))
运行如下
D:\PythonProject\sustudy>python main.py重新父类方法,体现 多态 王大锤 : 18I' m a man
具体好处,实际项目中你可以看到他的威力。哈哈哈
结语
著名的“开闭”原则:
对扩展开放:[继承]允许新增 Person 子类;
对修改封闭:[多态]不需要修改依赖 Person 类型的 toString() 等函数由运行时该对象的确切类型决定,这就是多态真正的威力
阅读全文
0 0
- Python基础-继承与多态
- Python继承与多继承
- Python基础-继承和多态
- OC基础DAY04 - 继承与多态
- C#超基础:继承与多态
- C#基础-继承、多态与接口
- python的多重继承与多态
- python类的继承与多态
- python 的继承与多态
- python中封装、继承与多态
- Python之继承与多态
- Python - 单继承与多继承
- python多继承与mro
- Python基础14--继承
- Python基础-多重继承
- Python 5) 基础 继承
- c++基础学习12-c++的多态与继承
- java—基础篇——继承与多态
- python实例练习
- 解决打包生成JAR在Android项目中不能调用问题
- 解决Tomcat8“At least one JAR was scanned for TLDs yet contained no TLDs”问题
- Kafka设计解析(一)- Kafka背景及架构介绍
- 58到家入驻微信钱包的技术优化
- Python基础-继承与多态
- Builder模式的简单实现
- SpringBoot 整合 Websocket 实现消息推送框架的设计笔记
- SpringBoot启动报错(Cannot determine embedded database driver class for database type NONE)
- sql优化最佳实践
- ADIS16448 配置
- 创业公司快速搭建立体化监控之路(WOT2016)
- ubuntu安装HDF5链接库(基于VFH描述子的聚类识别与6自由度位姿估计编译问题)
- H2数据类型