Python学习笔记--基础语法6.4--多态

面向对象的三大特征:
1.封装:根据职责将属性和方法,封装到一个抽象的类当中
2.继承:实现代码的重复使用
3.多态:不同的子类调用相同的父类方法实现不一样的结果
多态
案例:

class Work(object):
    def __init__(self,name):
        self.name=name
    def work(self):
        print('我是%s我正在工作'%self.name)
class Sjs(Work):
    def ht(self):
        print('%s正在画图'%self.name)

class Cxy(Work):
    def mdm(self):
        print('%s正在码代码'%self.name)

work=Work('小明')
work.work()
sjs=Sjs('奥特曼')
sjs.work()
sjs.ht()
cxy=Cxy('阿呆')
cxy.work()
cxy.mdm()

结果:

我是小明我正在工作
我是奥特曼我正在工作
奥特曼正在画图
我是阿呆我正在工作
阿呆正在码代码

在Work类中封装了work方法,创建了Sjs和Cxy两个子类,并在两个子类中创建了不同的方法ht和mdm,super.work()是重写方法,相当于在子类中对于父类方法的拓展,但多态是创建了子类实例对象创建后直接调用父类的方法。继承以重写方法为前提。
术语:
使用类名创建对象的时候,先会在内存中为对象分配内存空间,调用初始化方法时为对象初始化,对象创建后内存就有了一个对象实实在在存在的实例
创建出来的对象叫做类的实例
创建对象的动作叫做实例化
对象的属性叫做实例属性
对象调用的方法叫做实例方法,调用实例方法时可以通过self访问自己的属性和方法。
类属性和类方法
类是一个特殊的对象,类对象有自己的属性和方法,通过类名去访问或者调用类属性或类方法。

class Tool(object):
    #创建类属性,用来记录创建对象的次数
    count=0
    
    
    def __init__(self,name):
        self.name=name
        
        #对类属性做一个加1 的操作
        Tool.count+=1

#创建工具类
tool1=Tool('锤子')
tool2=Tool('锯')
tool3=Tool('梯子')
print('现在创建了%s个对象'%Tool.count)

结果:

现在创建了3个对象
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值