多态与多态性
2018-08-26 17:30:19来源:博客园 阅读 ()
1. 什么是多态
多态指的是同一种/类事物的不同形态
2.为何要用多态性
1 增加了程序的灵活性
2 增加了程序的可扩张性
多态性:分为静态多态性和动态多态性
多态性:在多态的背景下,可以在不用考虑对象具体类型的前提下而直接使用对象
多态性的精髓:统一
3. 如何用多态
class Animal: def speak(self): pass class People(Animal): def shuo(self): print('say hello') class Dog(Animal): def jiao(self): print('汪汪汪') class Pig(Animal): def chang(self): print('哼哼哼') obj1=People() obj2=Dog() obj3=Pig() # obj1.speak() # obj2.speak() # obj3.speak() def speak(animal): animal.speak() speak(obj1) speak(obj2) speak(obj3)
python 崇尚鸭子类型
逗比时刻:
Python崇尚鸭子类型,即‘如果看起来像、叫声像而且走起路来像鸭子,那么它就是鸭子’
python程序员通常根据这种行为来编写程序。例如,如果想编写现有对象的自定义版本,可以继承该对象
也可以创建一个外观和行为像,但与它无任何关系的全新对象,后者通常用于保存程序组件的松耦合度。
例1:利用标准库中定义的各种‘与文件类似’的对象,尽管这些对象的工作方式像文件,但他们没有继承内置文件对象的方法
class Disk: def read(self): print('Disk read') def write(self): print('Disk write') class Memory: def read(self): print('Mem read') def write(self): print('Mem write') obj1=Disk() obj2=Memory() obj1.read() obj2.read()
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- python day1-requests 2019-08-13
- python变量和常量 2019-08-13
- Python-17-反射 2019-07-24
- Python-16-继承、封装、多态 2019-07-24
- Python-15-面向对象 2019-07-24
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash