博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python 多态
阅读量:4882 次
发布时间:2019-06-11

本文共 931 字,大约阅读时间需要 3 分钟。

类的多态

 

 

多态

多态性(polymorphisn)是允许你将父对象设置成为和一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作。简单的说,就是一句话:允许将子类类型的指针赋值给父类类型的指针。

那么,多态的作用是什么呢?我们知道,封装可以隐藏实现细节,使得代码模块化;继承可以扩展已存在的代码模块(类);它们的目的都是为了——代码重用。而多态则是为了实现另一个目的——接口重用!多态的作用,就是为了类在继承和派生的时候,保证使用“家谱”中任一类的实例的某一属性时的正确调用。

 

Pyhon 很多语法都是支持多态的,比如 len(),sorted(), 你给len传字符串就返回字符串的长度,传列表就返回列表长度。

 

Python多态示例

class Animal(object):    def __init__(self, name):  # Constructor of the class        self.name = name    def talk(self):              # Abstract method, defined by convention only        raise NotImplementedError("Subclass must implement abstract method") #调用就会报错class Cat(Animal):    def talk(self):        print('%s: 喵喵喵!' %self.name)class Dog(Animal):    def talk(self):        print('%s: 汪!汪!汪!' %self.name)a = Animal("Lichuang")d = Dog("d1")c = Cat("c1")#一个接口,多种形态def animal_talk(obj):     obj.talk()animal_talk(c)animal_talk(d)

 

转载于:https://www.cnblogs.com/xiangsikai/p/7819434.html

你可能感兴趣的文章
2017.11.18 手把手教你学51单片机-点亮LED
查看>>
xml的创建与解析
查看>>
grep不区分大小写查找字符串方法
查看>>
linux系统灵活运用灯[android课程3]
查看>>
Android 通用Dialog中设置RecyclerView
查看>>
利用 Android Studio 和 Gradle 打包多版本APK
查看>>
Android 自定义标题栏
查看>>
Android 如何把一个 RelativeLayout或ImageView背景设为透明
查看>>
tomcat优化方向
查看>>
http
查看>>
8-1-组队赛
查看>>
codility: CountTriangles
查看>>
赛斯说
查看>>
python 中的pipe
查看>>
(SQL Analyzer services)定义链接维度
查看>>
squid
查看>>
系统开发管理、架构与设计步步谈随笔索引
查看>>
Java的时间空间复杂度详解
查看>>
有效防止SQL注入漏洞
查看>>
Linux chown命令
查看>>