• Python之面向对象多态


    Python之面向对象多态

       多态与多态性:

        多态:

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

          1、序列类型有多种形态:字符串、列表、元组。

          2、动物有多种形态:People、Dog、Pig。

    #多态:同一种事物的多种形态,动物分为人类,猪类(在定义角度)
    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()

      多态性:

        一种调用方式,不同的执行结果。

        多态性依赖于继承、多态性定义统一的接口。 

     

    #多态性:一种调用方式,不同的执行效果(多态性)
    def func(obj):
        obj.run()
    
    func(peo1)
    func(pig1)
    func(d1)
    
    
    # peo1.run()
    # pig1.run()
    
    
    # 多态性依赖于:
    #     1.继承
    #     2.定义接口
    ##多态性:定义统一的接口,
    def func(obj): #obj这个参数没有类型限制,可以传入不同类型的值
        obj.run() #调用的逻辑都一样,执行的结果却不一样。由继承决定。
    
    
    func(peo1)
    func(pig1)
    
    func(d1)
  • 相关阅读:
    再探最大公约数
    非旋treap
    初赛毒瘤汇总(持续更新中)
    架构漫谈阅读笔记五--以豆瓣得基础架构为例
    架构设计小论文
    第一阶段
    架构漫谈阅读笔记六--以淘宝数据魔方技术架构解析为例
    学习进度第八周
    架构漫谈阅读笔记一
    软件架构之 Refined Architecture阶段
  • 原文地址:https://www.cnblogs.com/george92/p/9224282.html
Copyright © 2020-2023  润新知