python 面向对象基础(三)


前言

今天说一哈,面向对象中的 “多态”,(等等,多,多态?多姿多态?)

在这里插入图片描述

一、概念:

  1. 一类事物有多种形态,是一种使用对象的方式;
  2. 子类重写父类的方法,调用不同的子类对象的相同父类的方法,可以产生不同的效果。

二、定义:

1.步骤:

  • 定义父类,并提供公共方法
  • 定义子类,并重写父类方法
  • 传递子类对象给调用者,可以看到不同子类执行效果不同

2. 例:

以下实例,已经客观的说明了多态的特性,至于作用还得靠大家琢磨奥~

class Teacher():
    def work(self):
        pass


class FE_Teacher(Teacher):
    def work(self):
        print('大家跟我学前端')


class Java_Teacher(Teacher):
    def work(self):
        print('大家跟我学java')


class School():
    def give_lessons(self,teacher): # 此时的参数teacher接受的是某个子类的对象
        teacher.work()
        # 调用work()方法,其实这句代码构成了:对象.方法名称 的样式,也就是普普通通的创建对象,然后再这个对象中调用方法



fe=FE_Teacher()
java=Java_Teacher() # 创建两个老师对象

school=School()   # 创建 最重要的这个学校对象

school.give_lessons(java) # 执行结果为:大家跟我学java
# 上面这行代码其实就是: 在学校对象的 “give_lessons” 方法中,把你选择的老师对象 当做参数传递进来,从而执行老师的方法

school.give_lessons(fe)   #执行结果为:大家跟我学前端

注: 代码我已经备注的很详细了,嘴笨,还望大家谅解~

在这里插入图片描述


总结

多态其实得目光远一点才能更好的体会它的作用,扩展性我认为很nice
最后:大家有什么问题,和好的建议可以留在评论区奥~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值