首页 > 其他分享 >109:多态

109:多态

时间:2022-11-21 10:48:04浏览次数:38  
标签:python self 多态 shout 109 Animal def

       多态(polymorphism)是指同一个方法调用由于对象不同可能会产生不同的行为。在现实生活中,我们有很多例子。比如:同样是调用人的休息方法,张三的休息是睡觉,李四的休息是玩游戏,高淇老师是敲代码。同样是吃饭的方法,中国人用筷子吃饭,英国人用刀叉吃饭,印度人用手吃饭。关于多态要注意以下 2 点:
1. 多态是方法的多态,属性没有多态。
2. 多态的存在有 2 个必要条件:继承、方法重写。

# 多态
class Animal:
    def shout(self):
        print("动物叫了一声")


class Dog(Animal):
    def shout(self):
        print("小狗,汪汪汪")


class Cat(Animal):

    def shout(self):
        print("小猫,喵喵喵")


def animalShout(a):
    if isinstance(a, Animal):
        a.shout()  # 传入的对象不同,shout 方法对应的实际行为也不同。


animalShout(Dog())
animalShout(Cat())

输出结果:

D:\work\python\three\venv\Scripts\python.exe D:\work\python\three\mypy21.py 
小狗,汪汪汪
小猫,喵喵喵

进程已结束,退出代码0

 

标签:python,self,多态,shout,109,Animal,def
From: https://www.cnblogs.com/yuanzijian/p/16910601.html

相关文章

  • 多态之抽象类
    当父类中的方法不知道如何去实现的时候,可以考虑将父类写成抽象类,将方法写成抽象方法比如:狗狗会叫,猫咪也会叫,可以使用abstract关键字标记一个抽象的动物类,抽象的方法 ......
  • 多态
    多态即同一方法可以根据发送对象的不同而采用多种不同的行为方式。一个对象的实际类型是确定的,但可以指向对象的引用的类型有很多(父类,有关系的类)多态存在的条件......
  • C++初阶(封装+多态--整理的自认为很详细)
    继承概念:继承机制是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保持原有类特性的基础上进行扩展,增加功能,这样产生新的类,称派生类。继承呈现了面向对象程......
  • 101:面向对象的三大特征说明(封装、继承、多态)
    ###面向对象三大特征介绍Python是面向对象的语言,也支持面向对象编程的三大特性:继承、封装(隐藏)、多态。###封装(隐藏)   隐藏对象的属性和实现细节,只对外提供必要的......
  • [LeetCode] 1099. Two Sum Less Than K
    Givenanarraynumsofintegersand integerk,returnthemaximumsumsuchthatthereexistsi<jwithnums[i]+nums[j]=sumandsum<k.Ifnoi,jexis......
  • 面向对象编程三大特性------封装、继承、多态(概念理解,应用举例)
    1.面向对象&面向过程面向过程思想步骤清晰简单,第一步做什么,第二步做什么....面向过程适合处理一些简单的问题。面向对象思想物以类聚,在思考问题解决方案时会先......
  • 多态
    介绍多态指为不同数据类型的实体提供统一的接口,或者使用一个单一的符号来表示多种不同的类型。分类特设多态特设多态是程序设计语言的一种,多态函数有多个不同的实现,依赖......
  • [109]. Hard - Length of String 2
    Implementatype LengthOfString<S> thatcalculatesthelengthofthetemplatestring(asin 298-LengthofString):typeT0=LengthOfString<"foo">//3......
  • 封装,继承(super,this,方法重写),多态--JAVA
    一、封装封装:就是把抽象出的数据【属性】和对数据的操作【方法】封装在一起,数据被保护在内部,程序的其他部分只有通过被授权的操作才能对数据进行操作  publicclass......
  • 第12章 面向对象编程:多态性
    12.1简介程序通用化12.2多态性介绍:多态视频游戏12.3类继承层次中对象之间的关系12.4类型域和switch语句12.5抽象类和纯virtual函数跟一个表格有关12.6实例研究......