python基础--面向对象之多态

久未见 提交于 2019-11-27 13:54:21
# 多态是指一类事物有多种行态,
# 例如:动物有多种形态:人,狗,猫
# 他们有一些共同的特征:吃,喝,拉,撒
# 多态性是指在不考虑实例类型的情况下使用实例
# 对同一事物不同的类,对象有不同的响应,
# 例如:放假了,有的同学回家,有的去旅游,有的去兼职
#       有的在敲代码(就是我啦)
# 列表,字符串,字典都有len属性,但是是不同的执行过程。
class Animal():
    def talk(self):
        pass
class People(Animal):
    def __init__(self,name):
        self.name = name
    def talk(self):
        print("%s 说人话"%self.name)
class Cat(Animal):
    def __init__(self,name):
        self.name = name
    def talk(self):
        print("%s 说猫话"%self.name)
class Dog(Animal):
    def __init__(self,name):
        self.name = name
    def talk(self):
        print("%s 说狗话"%self.name)
peo = People('wang')
cat = Cat('cat')
dog = Dog('dog')
peo.talk()
cat.talk()
dog.talk()
# 多态性的函数
# 1,增加了程序的灵活性,
# 2,增加了程序的课扩展性
# 鸭子类型
# python崇尚鸭子类型,Python崇尚鸭子类型,即‘如果
# 看起来像、叫声像而且走起路来像鸭子,那么它就是鸭子’

# python程序员通常根据这种行为来编写程序。例如,如果想编
# 写现有对象的自定义版本,可以继承该对象

# 也可以创建一个外观和行为像,但与它无任何关系的全
# 新对象,后者通常用于保存程序组件的松耦合度。

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!