【Python零基础入门篇 · 24】:面向对象的多态、静态方法和类方法

简介: 【Python零基础入门篇 · 24】:面向对象的多态、静态方法和类方法

面向对象的多态


多态特征:一个对象具有多种形态, 在不同的使用环境中以不同的形态展示其功能, 那么我们就称该对象具有多态特征。


  • 多态发生在具有继承关系的基础之上。


  • 多态不关注对象的类型,只关注对象具有的行为


  • 不同的子类对象,调用相同的父类方法,就会有不同的结果。


例如:“+”号,不同的对象使用,就会有不同的结果

02e714ed2a294f7fb17e1fd738c1da81.png


第一种多态展示

7f90895839774cee83334a116d15c9c0.png


第二种多态展示

定义统一接线口,一个接口,多种实现。

19fbe878fe3c453eb14487bba37067d8.png





静态方法和类方法


静态方法

使用装饰器:@staticmethod


定义格式:

class 类名:           
            @staticmethod           
             def 方法名(形参):                 
                    方法体


调用格式:


  • 类名.方法名(实参)


  • 对象名.方法名(实参)


ecd70c9b786d4a0ca2f35a2e17624bc7.png



类方法


类方法:针对类对象定义的方法


注意:类方法内部可以直接访问类属性,或者调用其他类方法。

定义格式:

class 类名:           
    @classmethod           
    def 方法名(形参):                 
            方法体



调用格式:


  • 类名.方法名(实参)


  • 对象名.方法名(实参) 不常用



例1:在实例方法中访问类属性

a79026db2aa6416098d9a664cb33d039.png

例2:在类方法中访问类属性

7e46e16260944d59ba2edc76fb3906dc.png


在类方法中访问不了实例属性,会报错。

f2451c33a99e4f9b97b647ffbe91febb.png




总结


  • 实例方法:方法内部访问实例属性,方法内部可以通过类名、类属性名来访问类属性


  • 静态方法:方法内部不需要访问实例属性和类属性


  • 类方法:方法内部只需要访问类属性


相关文章
|
2月前
|
测试技术 开发者 Python
Python单元测试入门:3个核心断言方法,帮你快速定位代码bug
本文介绍Python单元测试基础,详解`unittest`框架中的三大核心断言方法:`assertEqual`验证值相等,`assertTrue`和`assertFalse`判断条件真假。通过实例演示其用法,帮助开发者自动化检测代码逻辑,提升测试效率与可靠性。
309 1
|
3月前
|
机器学习/深度学习 数据采集 数据挖掘
基于 GARCH -LSTM 模型的混合方法进行时间序列预测研究(Python代码实现)
基于 GARCH -LSTM 模型的混合方法进行时间序列预测研究(Python代码实现)
119 2
|
2月前
|
人工智能 数据安全/隐私保护 异构计算
桌面版exe安装和Python命令行安装2种方法详细讲解图片去水印AI源码私有化部署Lama-Cleaner安装使用方法-优雅草卓伊凡
桌面版exe安装和Python命令行安装2种方法详细讲解图片去水印AI源码私有化部署Lama-Cleaner安装使用方法-优雅草卓伊凡
373 8
桌面版exe安装和Python命令行安装2种方法详细讲解图片去水印AI源码私有化部署Lama-Cleaner安装使用方法-优雅草卓伊凡
|
2月前
|
算法 调度 决策智能
【两阶段鲁棒优化】利用列-约束生成方法求解两阶段鲁棒优化问题(Python代码实现)
【两阶段鲁棒优化】利用列-约束生成方法求解两阶段鲁棒优化问题(Python代码实现)
|
3月前
|
机器学习/深度学习 数据采集 TensorFlow
基于CNN-GRU-Attention混合神经网络的负荷预测方法(Python代码实现)
基于CNN-GRU-Attention混合神经网络的负荷预测方法(Python代码实现)
135 0
跟我从0学Python——类的继承和多态
类的继承和多态 —— 面向对象编程的扩展与灵活性
|
搜索推荐 Python
Python学习 -- 类的继承
Python学习 -- 类的继承
103 0
|
Kotlin Python
Python(三十一)python类class继承与多态
Python是一门面向对象语言 面向对象的三大特征:封装、继承、多态 我们这里来看一下python 类的继承 通过继承创建的新类称为子类或派生类,被继承的类称为基类、父类或超类。 一:类的继承 1 :继承语法 arduino 复制代码 class 派生类名(基类名) ... 通常我们定义的类没有指定继承对象都是继承自object类,另外,python是支持多继承的。 下边我们使用代码来演示一下python的继承: 我们定义一个person类,其中有name、age两个属性,getInfo方法,为父类。 我们定义一个school类,其中getSchoolInfo方法,为父类。 定义一
188 0
|
搜索推荐 Python
Python学习 -- 类的继承
Python学习 -- 类的继承
102 0
|
Python
Python教程:类的继承,什么是继承
- 继承是一种新建类的方式,新建的类称为子类,被继承的类称为父类 - 继承的特性是:子类会遗传父类的属性 - 继承是类与类之间的关系
209 0
Python教程:类的继承,什么是继承

推荐镜像

更多