精华内容
下载资源
问答
  • python面向对象有三特征:继承、封装、多态 多态怎么理解? 一类事物,有多种形态,比如动物类,可以有猫、狗、鸡。一个抽象类有许多子类 # 作者:小白jiang class Animal(object): def talk(self): pass class ...

    作者:小白jiang

    python面向对象有三特征:继承、封装、多态

    多态怎么理解?

    一类事物,有多种形态,比如动物类,可以有猫、狗、鸡。一个抽象类有许多子类
    # 作者:小白jiang
    class Animal(object):
        def talk(self):
            pass
    
    class Cat(Animal):  # 动物的形态一:猫
        def talk(self):
            print('这是猫')
    
    class Dog(Animal):  # 动物形态二:狗
        def talk(self):
            print('这是狗')
    
    class Chicken(Animal):  # 动物的形态三:鸡
        def talk(self):
            print('这是鸡')
    
    

    多态性怎么理解?

    不同功能的函数使用同样的函数名,上面代码中,三个形态(猪、狗、鸡)都有talk函数,但是执行的行为不是相同的,分别打印:这是猪、这是狗、这是鸡。

    比如:下课铃响了,对于学生来说是放学操作,对于老师来说是下班操作。

    多态性的好处:

    1、增加了程序的灵活性,以不变应万变
    2、增加了程序额可扩展性,通过继承animal类创建了一个新的类,使用者无需更改自己的代码

    展开全文
  • 多态指的是一类事物有多种形态,(一个抽象类有个子类,因而多态的概念依赖于继承) 序列类型有多种形态:字符串,列表,元组 动物有多种形态:人,狗,猪 #多态:同一种事物的多种形态,动物分为人类,猪类...

     

    一 多态:

    多态指的是一类事物有多种形态,(一个抽象类有多个子类,因而多态的概念依赖于继承)

    1. 序列类型有多种形态:字符串,列表,元组
    2. 动物有多种形态:人,狗,猪

     

    #多态:同一种事物的多种形态,动物分为人类,猪类(在定义角度)
    class Animal:
        def run(self):
            raise AttributeError('子类必须实现这个方法')
     
     
    class People(Animal):
        def run(self):
            print('人正在走')
     
    class Pig(Animal):
        def run(self):
            print('pig is walking')
     
     
    class Dog(Animal):
        def run(self):
            print('dog is running')
     
    peo1=People()
    pig1=Pig()
    d1=Dog()
     
    peo1.run()
    pig1.run()
    d1.run()
    

     

     

    二 多态性

    (1)什么是多态性(注意:多态与多态性是两种概念)

    多态性是指具有不同功能的函数可以使用相同的函数名,这样就可以用一个函数名调用不同内容的函数。在面向对象方法中一般是这样表述多态性:向不同的对象发送同一条消息,不同的对象在接收时会产生不同的行为(即方法)。也就是说,每个对象可以用自己的方式去响应共同的消息。所谓消息,就是调用函数,不同的行为就是指不同的实现,即执行不同的函数。

     

    #多态性:一种调用方式,不同的执行效果(多态性)
    def func(obj):
        obj.run()
     
    func(peo1)
    func(pig1)
    func(d1)
     
     
    # peo1.run()
    # pig1.run()
     
     
    # 多态性依赖于:继承
    ##多态性:定义统一的接口,
    def func(obj): #obj这个参数没有类型限制,可以传入不同类型的值
        obj.run() #调用的逻辑都一样,执行的结果却不一样
     
    func(peo1)
    func(pig1)
     
    func(d1)
    

     

    综上可以说,多态性是一个接口(函数func),多种实现(如f.click())

    三、为什么要用多态性(多态性的好处)

    其实大家从上面多态性的例子可以看出,我们并没有增加上面新的知识,也就是说Python本身就是支持多态性的,这么做的好处是什么呢?
    (1)增加了程序的灵活性
      以不变应万变,不论对象千变万化,使用者都是同一种形式去调用,如func(animal)
    (2)增加了程序额可扩展性
      通过继承animal类创建了一个新的类,使用者无需更改自己的代码,还是用func(animal)去调用

    多态:同一种事物的多种形态,动物分为人类,猪类(在定义角度) 多态性:一种调用方式,不同的执行效果(多态性)

    展开全文
  • Python多态和多态性

    2020-02-08 18:00:30
    Python多态和多态性 Python 的多态是指一类事务有多种形态。比如动物有多种形态,人,狗,猫,等等。 import abc class Animal(metaclass=abc.ABCMeta): #同一类事物:动物 @abc.abstractmethod def talk(self): ...

    Python多态和多态性
    Python 中的多态是指一类事务有多种形态。比如动物有多种形态,人,狗,猫,等等。
    import abc
    class Animal(metaclass=abc.ABCMeta): #同一类事物:动物
    @abc.abstractmethod
    def talk(self):
    pass
    class People(Animal): #动物的形态之一:人
    def talk(self):
    print(‘say hello’)

    class Dog(Animal): #动物的形态之二:狗
    def talk(self):
    print(‘say wangwang’)

    class Pig(Animal): #动物的形态之三:猪
    def talk(self):
    print(‘say aoao’)

    Python的多态性是指:在不考虑实例类型的情况下使用实例,也就是说不同类型的实例有 相同的调用方法。比如人,猫,狗,等等只要是继承了animal就可以直接调用它的talk()方法。
    peo=People()
    dog=Dog()
    pig=Pig()

    #peo、dog、pig都是动物,只要是动物肯定有talk方法
    #于是我们可以不用考虑它们三者的具体是什么类型,而直接使用
    peo.talk()
    dog.talk()
    pig.talk()

    #更进一步,我们可以定义一个统一的接口来使用
    def func(obj):
    obj.talk()

    使用多态性的好处:

    1.增加了程序的灵活性

    以不变应万变,不论对象千变万化,使用者都是同一种形式去调用,如func(animal)

    2.增加了程序额可扩展性

    通过继承animal类创建了一个新的类,使用者无需更改自己的代码,还是用func(animal)去调用

    展开全文
  • 多态和多态性 多态是指同一类事物的多种形态,比如动物有小猫小狗小猪多种形态. 多态性是指不同的对象在调用相同的方法时会执行不同的操作。 多态性常常在继承使用,比如动物都有speak这种方法,而小猫、小狗、...

    多态和多态性

      多态是指同一类事物的多种形态,比如动物有小猫小狗小猪多种形态.

      多态性是指不同的对象在调用相同的方法时会执行不同的操作。

      多态性常常在继承中使用,比如动物都有speak这种方法,而小猫、小狗、小猪都继承自动物类。它们根据自身的特点分别实现了speak方法,那么我们不考虑对象种类的情况下调用speak方法,它们就会执行不同的操作(小猫说话是喵喵,小狗是汪汪,小猪是哼哼)。

    class Animal:
        def speak(self):
            # 未被具体实现的方法
            pass
    class Cat(Animal):
        def speak(self):
            print('喵喵')
    class Dog(Animal):
        def speak(self):
            print('汪汪')
    class Pig(Animal):
        def speak(self):
            print('哼哼')
    def tell_me(obj):
        obj.speak()
    cat = Cat()
    dog = Dog()
    pig = Pig()
    tell_me(cat)
    tell_me(dog)
    tell_me(pig)
    # 喵喵
    # 汪汪
    # 哼哼
    

      多态性可以增加程序的灵活,无需考虑对象的种类,只需调用同一种方法就可以执行不同的操作;它还能增加程序的可扩展性,比如你又创建了一个继承自Animal的子类Fox,那么我们无须更改其他的代码,仅调用tell_me函数就可以让Fox的对象说话。

      非常常用的多态性例子,type()函数。我们传入不同类型的参数,它就返回给我们不同的结果

    展开全文
  • 小编创建了一个Python学习交流QQ群:579817333 寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程PDF电子书! ''' import abc class Animal(metaclass=abc....
  • 面向对象编程的四大特征分别是:抽象、封装、继承和多态多态根据上下文,对象可以采用多种形式。程序将确定该对象每次执行所需的含义或用法,从而减少了重复代码。 我国有句俗语:“龙生九子,各有不同”。这...
  • 多态性是指在不考虑实例类型的情况下使用实例,多态性分为静态多态性和动态多态性 静态多态性:如任何类型都可以用运算符+进行运算 动态多态性:如下 import abc class Animals(metaclass=abc.ABCMeta): @...
  • Python面对对象:多态和多态性(详解)

    多人点赞 2020-03-06 22:30:34
    这篇文章主要介绍了Python面向对象编程之多态,结合实例形式详细分析了Python面向对象编程中多态的概念、使用方法及相关注意事项,能力有限,仅供参考
  • 多态性 同一种调用方式,却是不同的执行效果.它依赖于继承,在子类方便定义统一接口 优点: (1)增加了程序的灵活性  以不变应万变,不论对象千变万化,使用者都是同一种形式去调用,如func(animal) (2)增加了...
  • 多态性依赖于类的继承特性派生特性,多态性是指具有不同功能的函数可以使用相同的函数名,这样就可以用一个函数名调用不同内容的函数。为了更好的理解,接下来拿len()函数来举个例子:len()函数的功能是用来求一个...
  •  封装指的是将数据对数据的操作放在一个小盒子。封装的作用在于将代码保护起来,防止无意对代码的破坏,以及方便我们对程序进行模块化管理。2.什么叫类的继承?为什么要有继承? 继承,顾名思义,就是子类对...
  • Python中多态的支持使用

    千次阅读 2018-08-17 15:45:54
    同样python中也支持多态,但是是有限的的支持多态性,主要是因为python中变量的使用不用声明,所以不存在父类引用指向子类对象的多态体现,同时python不支持重载。在python中 多态的使用不如Java中那么明显,所以...
  • 注意:一是python中一切皆对象,二是不同对象可以调用相同方法,你不用考虑它是由什么类来的。 例1:水是一个类。不同温度,水被实例化成了不同的状态:冰、水蒸气、雾。很多人误以为这就已经...
  • 概念: 面向过程:根据业务逻辑从上到下写垒代码 函数式:将某功能代码封装到函数,日后便无需重复...
  • python中多态和鸭子模型

    万次阅读 2017-07-20 08:15:42
    多态性 是允许将父对象设置成为一个或多个它的子对象相等的技术,比如Parent:=Child; 多态性使得能够利用同一类(基类)类型的指针来引用不同类的对象,以及根据所引用对象的不同,以不同的方式执行相同的操作. ...
  • python中多态

    2015-04-09 20:29:58
    多态性 是允许将父对象设置成为一个或多个它的子对象相等的技术,比如Parent:=Child; 多态性使得能够利用同一类(基类)类型的指针来引用不同类的对象,以及根据所引用对象的不同,以不同的方式执行相同的操作. ...
  • 内容简介: 封装,继承,多态是面向对象的三大特性。Python是面向对象的语言,...多态性分为静态多态性和动态多态性,  静态多态性:在运行之前就知道该用哪个类型的实例,例如,任何类型都可以用运算符+进行运算
  • python-测开-多态

    2020-12-29 18:44:30
    多态性是允许你将父对象设置成为一个或更多的他的子对象相等的技术。 我们在程序定义的引用变量所指向的具体类型通过该引用变量的方法调用在编程的时候并不确定,当处于运行期间才确定。就是这个引用变量究竟...
  • 首先,在C++多态有两种,函数...多态性是允许你将父对象设置成为一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作。简单的说,就是一句话:允许将子类
  • 多态性(polymorphisn)是允许你将父对象设置成为一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作。简单的说,就是一句话:允许将子类类型的指针赋值给...
  • 多态和多态性 多态 ​ 多态指的是同一种事物的多种状态:水这种事物有多种不同的状态:冰,水蒸气 多态性 ​ 多态性是指在不考虑实例类型的情况下使用实例 在面向对象方法一般是这样表述多态性: ​ 向不同的对象...

空空如也

空空如也

1 2 3
收藏数 57
精华内容 22
关键字:

python中多态和多态性

python 订阅