• 多态与多态性


    一、多态

      多态性指的是同一种事物有多种形态,在python中,存在继承关系,父类的引用指向的是子类对象地址。

    二、多态性

      对象可以在不用考虑对象具体类型的前提下,而直接使用对象。

       优点:同一化,简化对象的使用。

       对于开发者:多态性可以提供一套模板(父类),在这个模板基础下,可以进行扩展(子类)

       对应使用者:无需考虑使用对象的具体类型

        简单版:

        python不需要提前声明数据类型,不易察觉,但有多态的这个概念,一个父类可以有多种子类的形态。

    class Animal:
        def speak(self):
            print('animal speak..')
    
    
    class People(Animal):
        def talk(self):
            print('谈话')
    
    
    class Dog(Animal):
        def wang(self):
            print('汪汪汪汪汪')
    
    
    class Pig(Animal):
        def chi(self):
            print('吃吃吃吃吃')
    
    an = Animal()
    an.speak()
    an = People()
    an.talk()

        抽象类的定义

        让子类必须重写父类的函数

        1..import abc

        2.在父类()中添加metaclass=abc.ABCMeta

        3.在父类要求的函数添加装饰器@abc.abstractmethod

        注意:

        1.抽象类不能实例化

        2.所有的子类必须实现抽象方法

        3.抽象方法不能调用其它函数

      

    import abc
    
    
    class Animal(metaclass=abc.ABCMeta):
        def ss(self):
            pass
    
        @abc.abstractmethod
        def speak(self):
            print('animal speak..')
    
        @abc.abstractmethod
        def run(self):
            print('Animal run..')
    
    
    class People(Animal):
        def talk(self):
            print('谈话')
    
        def speak(self):
            print('People speak..')
    
        def run(self):
            print('People run..')
    
    
    class Dog(Animal):
        def wang(self):
            print('汪汪汪汪汪')
    
        def speak(self):
            print('Dog speak..')
    
        def run(self):
            print('run run..')
    
    
    class Pig(Animal):
        def chi(self):
            print('吃吃吃吃吃')
    
        def speak(self):
            print('Pig speak..')
    
        def run(self):
            print('Pig run..')
  • 相关阅读:
    CPSR_cxsf
    C的xml编程libxml2(转)
    showModalDialog 使用详解
    SecureCRT 6.7.4 安装
    Nokia Qt SDK 1.1的开发环境的搭建
    ARM寄存器介绍
    ucos在xp平台下开发环境搭建
    用JavaScript实现让浏览器停止载入页面
    makefile变量使用及其条件判断
    Makefile中指示符“include”、“include”和“sinclude”的区别
  • 原文地址:https://www.cnblogs.com/linbin7/p/11124568.html
Copyright © 2020-2023  润新知