面向对象三大特性之多态
发布时间:2020-12-20 10:09:17 所属栏目:Python 来源:网络整理
导读:多态 多态更像是一种思想,而并非具体的技术。 因为继承的存在,从而引发了多态,Python本就是多态的形式,就像现实世界一样。都是起源于某一单细胞生物但是经过不断的演化差异化越来越大。 多态的定义即是:在不同的类中实例化得到的对象下的相同的方法,实
多态多态更像是一种思想,而并非具体的技术。 因为继承的存在,从而引发了多态,Python本就是多态的形式,就像现实世界一样。都是起源于某一单细胞生物但是经过不断的演化差异化越来越大。 多态的定义即是:在不同的类中实例化得到的对象下的相同的方法,实现的过程不一样。这个就很有意思了... 多态的前提是必须有继承的支持,并且在实例化后所调用某一父类共同的方法中体现出了不同的结果或者具有了不同的实现过程。否则就体现不出多态的意义。 class Canine(object): """犬类""" def howl(self): 吼叫""" pass Husky(Canine): 哈士奇 howl(self): print("蠢狗的叫声...") Wolf(Canine): 狼嗷呜嗷呜...) h1 = Husky() h1.howl() w1 = Wolf() # 蠢狗的叫声... w1.howl() 嗷呜嗷呜... 鸭子类型 duke type
并没有定义犬类,但是依旧可以让使用者觉得很方便。 # 我认为哈士奇和狼都有叫的方法,那我就尝试调用它。尝试后发现果然我猜的没错! 故鸭子类型与继承无关 Ps:这对使用者来说十分的便捷。 嗷呜嗷呜... ? ? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |