栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

带你轻松了解python类的多态 (~ ̄▽ ̄)~

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

带你轻松了解python类的多态         (~ ̄▽ ̄)~

分析了python中的一些基础的类的用法操作,发现在python中如果能熟练运用类的一系列操做,肯定可以提高我们代码的效率,现在就开始分享一下我对咱们类里面多态的理解,希望对大家对此方面知识的理解有帮助!!!

濾濾濾濾濾濾濾濾濾濾濾濾濾濾濾濾濾濾濾濾濾濾濾濾濾濾濾濾濾

引入:
  •    多态不同的子类方法调用相同的父类方法,产生不同的执行结果
  •    可以继承和重写父类方法
  •    是调用方法的技巧,不会影响到类内部的设计

 

接下来让我们步入正题:
-------------------------------------------------------
 创建一个猪爸爸类,初始化一个猪猪们的名字,猪爸爸可以
在书房里安静的看书,也可以在沙发上听着猪之歌  
-------------------------------------------------------

class Pig_dad:

    def __init__(self, name):
        self.name = name

    def do(self):
        print('{}在家里的书房安静的看书'.format(self.name))

    def listen(self):
        print('{}跑到沙发上去,听着猪之歌'.format(self.name))

------------------------------------------------------------
创建一个猪爸爸的子类(这里不明白创建方法<点击下方链接查看>) 猪孩子
类,但是我们的猪孩子不喜欢看书,他喜欢和乔治玩,这时候我们就成功改写
了父类的方法,这样我么的猪孩子就可以做自己喜欢做的事啦!
------------------------------------------------------------

class Pig_child(Pig_dad):

    def do(self):
        print("{}在外面的草地上自由的奔跑,快乐的和乔治玩耍".format(self.name))



快速了解创建子类方法点这里https://blog.csdn.net/weixin_68418329/article/details/124364439

续上放代码!!!!!!!
---------------------------------------------------
   创建一个和猪爸爸平行的狗爸爸类狗爸爸喜欢和猪
猪类一起做游戏,我们初始化一个狗爸爸的名字   
---------------------------------------------------

class Dog_dad:

    def __init__(self, name):
        self.name = name

    def play(self, pig):

        print("{} 和 {} 在做游戏".format(self.name,pig.name))

        pig.do()

---------------------------------------------------
让我们来创建一只名叫佩奇猪宝宝和一只叫二哈的猪
爸爸 的实例对象
---------------------------------------------------

pig = Pig_child("佩奇")

dog = Dog_dad("二哈")

dog.play(pig)



>>> 二哈 和 佩奇 在做游戏 
#  print("{} 和 {} 在做游戏".format(self.name,pig.name)) 输出的是上面的内容
    
>>> 佩奇在外面的草地上自由的奔跑,快乐的和乔治玩耍
#  pig.do() 对应输出的是上面的内容 



----------------------------------------------------
让名叫大猪的猪爸爸 和 名叫汪汪的狗爸爸 一起玩耍 
----------------------------------------------------
dog = Dog_dad("汪汪")

pig = Pig_dad('大猪')

dog.play(pig)

>>> 汪汪 和 大猪 在做游戏
#  print("{} 和 {} 在做游戏".format(self.name,pig.name)) 输出的是上面的内容

>>> 大猪在家里的书房安静的看书
#  pig.do() 对应输出的是上面的内容 


咽 我们会发现我们的猪爸爸(大猪)是在书房里看书 并没有在子类里面完全改写咽







难点理解:

  • pig.name 输出的是我们实例化对象时传入的名称
  • pig.do 输出的是我们实例的父类或者子类的do方法

 

 

快来加入我们的python基础交流大家庭 讨论学习吧 

QQ交流群 : 463373916

 

 

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/835435.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号