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)
    
    
    
  • 相关阅读:
    android 模拟点击事件
    IGZO显示屏
    java 代码混淆
    android 模拟点击3
    android 文件读写
    android 抓包 tcpdump
    pathon 2
    conversion to dalvik format failed with error 1
    zipalign
    android 来电状态
  • 原文地址:https://www.cnblogs.com/zoulixiang/p/14376875.html
Copyright © 2011-2022 走看看