Python OOP:面向对象三大特性(封装、继承、多态)、类属性和实例属性、类方法@classmethod、静态方法@staticmethod、函数和类callable、__call__

本文详细探讨了Python面向对象编程的三大特性——封装、继承、多态,以及类属性、实例属性的设置和访问。重点讲解了类方法`@classmethod`和静态方法`@staticmethod`的使用场景,并介绍了如何通过`__call__`实现对象的可调用性,加深了对Python OOP的理解。
摘要由CSDN通过智能技术生成

一、面向对象三大特性

在这里插入图片描述

二、多态

在这里插入图片描述
定义:多态是⼀种使⽤对象的⽅式,⼦类重写⽗类⽅法,调⽤不同⼦类对象的相同⽗类⽅法,可以产⽣不同的执⾏结果。

一个父类,可以继承给多个子类,每个不同的子类可以创建多个对象,每个对象可以调用父类之父类的方法,产生不同的执行结果。

# 犬与人协同工作,人协同不同的犬执行不同的任务
class Dog:
    def work(self):   # ⽗类提供统⼀的⽅法,哪怕是空⽅法
        print("指哪打哪")

class ArmyDog(Dog):  # 继承Dog类
    def work(self):  # ⼦类重写⽗类同名⽅法
        print("追击敌人")

class DrugDog(Dog):
    def work(self):  # ⼦类重写⽗类同名⽅法
        print("追查毒品")

class Person:
    def work_with_dog(self, dogtype):  # 传⼊不同的对象,执⾏不同的代码,即不同的work函数
        dogtype.work()

ad = ArmyDog()
dd = DrugDog()
p1 = Person()

ad.work()  # 追击敌人
p1.work_with_dog(ad)  # 追击敌人
p1.work_with_dog(dd)  # 追查毒品

三、设置和访问类属性

- 类属性就是类对象所拥有的属性,类属性被该类的所有实例对象所共有

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值