千家信息网

Python中类继承与多态的示例分析

发表于:2026-11-05 作者:千家信息网编辑
千家信息网最后更新 2026年11月05日,这篇文章主要介绍了Python中类继承与多态的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。概念类(Class): 用来描述具
千家信息网最后更新 2026年11月05日Python中类继承与多态的示例分析

这篇文章主要介绍了Python中类继承与多态的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

概念

类(Class): 用来描述具有相同的属性和方法的对象的集合。

类变量:类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外。类变量通常不作为实例变量使用。

类有一个名为 __init__() 的特殊方法(构造方法),该方法在类实例化时会自动调用

self:self 代表的是类的实例,代表当前对象的地址,而 self.class 则指向类。

类调用 Car.weight

实例化 car01=Car(5)

实例对象调用 car01.weght

类的创建

#创建小汽车类和客车类class Car(object):    def __init__(self,weight):    #实例化对象时传入特有属性        self.weight=weight        print("小汽车")        print(weight,"t")          #定义类内方法,功能是打印出实例化的小汽车的重量    def func(self):        print("小汽车的驾驶方法")class Passenger_car(object):    def __init__(self,weight):        self.weight=weight        print("客车")        print(weight,"t")    def func(self):        print("客车的驾驶方法")

类的继承

我们在构造类时,Python3默认我们继承了object这个基类,我个人理解object就是个空的类,可以不用管为何要在括号中写上object,这是Python3的特性,在python2中如果你没有写object的话不会默认继承了object这个基类。

同样的我们自己希望继承的父类只需要把objetc改为我们自己定义的类名即可。子类中可以拥有父类中所有的公有属性和方法,但是可以通过在变量名前加下划线使其变为私有,这样子类就不可以访问父类中的成员了。

class Bus028(Passenger_car):    def __init__(self,weight): #对基类方法的重写        self.weight=weight        print("28路公交车")        print(weight,"t")    def func(self):           #对基类方法的重写         print("28路公交车的驾驶方法")    #子类在父类中继承过来了func方法,但是在父类中修改了原来方法的内容

多态的使用

以下三个公交车类的父类均为客车类,我们可以写一个funcs方法使得每次调用funcs方法时,传入不同的对象以执行不同的func方法,具体实现如下:

class Bus028(Passenger_car):    def __init__(self,weight):        self.weight=weight        print("28路公交车")        print(weight,"t")    def func(self):        print("28路公交车的驾驶方法")class Bus906(Passenger_car):    def __init__(self,weight):        self.weight=weight        print("906路公交车")        print(weight,"t")    def func(self):        print("906路公交车的驾驶方法")class BusB32(Passenger_car):    def __init__(self,weight):        self.weight=weight        print("B32路公交车")        print(weight,"t")    def func(self):        print("B32路公交车的驾驶方法")def funcs(obj):        #此处obj表示传入一个实例化对象    obj.func()

主函数:

from demo01 import *def main():    car01=Car(5)    #例化为带有重量为5t的一个具体对象    car01.func()    passenger_car01=Passenger_car(20)    #例化为带有重量为20t的一个具体对象    passenger_car01.func()    bus028_01=Bus028(15)        #例化为带有重量为15t的一个具体对象    bus906_01=Bus906(15)        #例化为带有重量为15t的一个具体对象    busB32_01=BusB32(15)        #例化为带有重量为15t的一个具体对象    funcs(bus028_01)            #调用funcs方法    funcs(bus906_01)    funcs(busB32_01) if __name__=="__main__":    main()

可以看到,我将小汽车实例化为带有重量为5t的一个具体对象,将客车实例化为带有重量为20t的一个具体对象,将三个公交车实例化为带有重量为15t的一个具体对象.

如上图所示,我每次在调用funcs方法时都传入了一个实例化对象,funcs根据不同的对象执行相应的内部方法。

注:(我习惯上将方法读作函数,在以后的文章中,方法一律被函数代替)

感谢你能够认真阅读完这篇文章,希望小编分享的"Python中类继承与多态的示例分析"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

方法 对象 实例 公交车 重量 变量 驾驶 客车 小汽车 函数 篇文章 多态 不同 子类 属性 示例 分析 三个 代表 特殊 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 中关村互联网 科技集团 互联网科技开发公司 互联网科技论坛 互联网科技英文翻译 互联网科技公司做什么 顺网科技2021年互联网排名 科技互联网的估值 昭通云南众福互联网科技有限公司 崇明区互联网教育科技诚信经营 消费医药和互联网科技 互联网新科技动漫ppt素材 互联网科技和法律行业 爱医互联网络科技 互联网风格科技公司名称 艺电能源互联网科技有限公司招聘 中国科技和美国互联网 黑龙江互联网科技公司 承德科技产业互联网平台 每日互联网科技新闻 科技发展第三阶段互联网时代 互联网科技保险 互联网女皇 腾讯科技 海南科技产业互联网平台 济南和联互联网科技有限公司 互联网科技公司营业执照怎么办理 半导体是互联网高科技吗 神州科技互联网有限公司 版纳互联网科技选哪家 盐城市攀科互联网科技有限公司 互联网领先科技成果宣传视频
0