zoukankan      html  css  js  c++  java
  • python之多态和多态性

    • 多态和多态性
    import abc
    
    #多态
    #多态是指一类事物有多种形态,比如动物类,可以有猫,狗,猪等等。(一个抽象类有多个子类,因而多态的概念依赖于继承)
    class Animal(metaclass=abc.ABCMeta): #同一类事物:动物
        @abc.abstractmethod
        def talk(self):
            pass
    
    class Cat(Animal): #动物的形态之一:猫
        def talk(self):
            print('say miaomiao')
    
    class Dog(Animal):
        def talk(self):
            print('say wangwang')
    
    class Pig(Animal):
        def talk(self):
            print('say aoao')
    
    
    """
    注意:多态与多态性是两种概念
    
    多态性是指具有不同功能的函数可以使用相同的函数名,这样就可以用一个函数名调用不同内容的函数。
    在面向对象方法中一般是这样表述多态性:向不同的对象发送同一条消息,不同的对象在接收时会产生不同的行为(即方法)。
    也就是说,每个对象可以用自己的方式去响应共同的消息。
    所谓消息,就是调用函数,不同的行为就是指不同的实现,即执行不同的函数。
    综上可以说,多态性是 : 一个接口,多种实现
    
    多态性的好处:
    
    增加了程序的灵活性,以不变应万变,不论对象千变万化,使用者都是同一种形式去调用,如func(obj)
    增加了程序额可扩展性,通过继承animal类创建了一个新的类,使用者无需更改自己的代码,还是用func(obj)去调用
    """
    
    c = Cat()
    
    d = Dog()
    
    p = Pig()
    
    def func(obj):
        obj.talk()
    
    func(c)
    
    func(d)
    
    func(p)
    
    
    
  • 相关阅读:
    软件测试(来自于网络)
    selenium常用命令
    新员工入门
    常用测试点
    测试leader职责
    软件测试 —— 用例设计4(读书分享)
    Tomcat 基础二
    Github Pull Request的提出与采纳
    Unix套接字接口
    健壮的I/O(RIO)
  • 原文地址:https://www.cnblogs.com/zoulixiang/p/14376875.html
Copyright © 2011-2022 走看看