位置: IT常识 - 正文

案例详解:Python类继承机制(案例详解:功能点估算法)

编辑:rootadmin

推荐整理分享案例详解:Python类继承机制(案例详解:功能点估算法),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:战略地图绘制案例详解,案例详解:S集团财务共享战略与服务中心建设,案例详解:S集团财务共享战略与服务中心建设,六爻案例详解,六爻案例详解,战略地图绘制案例详解,免抵退税计算方法案例详解,六爻案例详解,内容如对您有帮助,希望把文章链接给更多的朋友!

下面实现一个类继承的小程序,下面一边结合代码一边介绍相关继承的知识。例子以车、汽车为例,车为父类、汽车为子类。

一、定义父类Vehicle

classVehicle():def__init__(self,wheelcount,power):#构造方法,参数有轮子数和动力self.wheelcount,self.power,self.totaldistance=wheelcount,power,0#初始化行驶总里程为0defgettotaldistance(self):returnself.totaldistance#定义获取形式总里程的方法defdrive(self,distance):#定义drive方法self.totaldistance+=distance

二、定义子类Car

classCar(Vehicle):def__init__(self,wheelcount,power):super().__init__(wheelcount,power)Vehicle.__init__(self,wheelcount,power)super(Car,self).__init__(wheelcount,power)self.oil,self.oilcostperkm=0,0.1

子类内首先重写了构造方法,注意:

案例详解:Python类继承机制(案例详解:功能点估算法)

1.首先调用了超类的构造方法,为了说明超类方法的调用,代码将三种调用超类构造方法都实现了,实际上只要有一种就够了;

2.超类构造方法中初始化了轮子数、动力以及总行驶里程。子类调用超类构造方法后,对于汽车又初始化了油量和每公里油耗。?

defdrive(self,distance):realdistance=min(distance,self.oil/self.oilcostperkm)super().drive(realdistance)self.oil-=realdistance*self.oilcostperkmprint("车开了{}公里,目前邮箱存油{:.2f}升,目前车辆总里程:{}KM".format(realdistance,self.oil,super().gettotaldistance())

子类重写了父类的drive方法,本次只用了一种老猿推荐的方式调用父类的drive方法,重写的方法内根据油量确认了实际驾驶里程之后调用了父类的drive方法,同时对油量进行了调整,输出了一些车况信息,其中调用了父类的gettotaldistance()方法。

defoiling(self,oil):self.oil+=oilprint("加油{}升,目前邮箱存油{:.2f}升".format(oil,self.oil))

实现子类独有的加油方法,父类的车可以是畜力或人力等其他方式驱动就没有这个方法。

defneedoiling(self):ifself.oil<5:returnTrueelse:returnFalse

实现子类独有的是否需要加油判断方法。

defoutput(self):print("车子动力为{},100KM油耗{}升,车子累计行驶{}KM,油箱存油{:.2f}L".format(self.power,self.oilcostperkm*100,super().gettotaldistance(),self.oil))

实现子类独有的输出车况的方法,其中调用了父类的gettotaldistance()方法。

到此为止整个子类的代码实现完成,它完全继承了父类方法gettotaldistance,采用重写+父类调用方式实现了drive和构造方法的继承,并实现了needoiling、oiling两个子类独有的方法,其实例变量self.wheelcount,self.power,self.totaldistance是从父类继承。

三、调用的代码

下面是使用该类定义的一个实例,

car=Car(4,'汽油发动机')car.oiling(50)foriinrange(1,100):print("***************第{}次循环************".format(i))car.oiling(random.randint(10,60))?#随机加油x升car.drive(random.randint(5,1000))#随机驾驶x公里car.output()?#输出车况信息ifcar.needoiling():break?#如果油不够了就结束循环#coding:utf-8importrandomclassVehicle():def__init__(self,wheelcount,power):self.wheelcount,self.power,self.totaldistance=wheelcount,power,0defdrive(self,distance):self.totaldistance+=distancedefgettotaldistance(self):returnself.totaldistanceclassCar(Vehicle):def__init__(self,wheelcount,power):super().__init__(wheelcount,power)Vehicle.__init__(self,wheelcount,power)super(Car,self).__init__(wheelcount,power)self.totaldistance,self.oil,self.oilcostperkm=0,0,0.1defdrive(self,distance):realdistance=min(distance,self.oil/self.oilcostperkm)super().drive(realdistance)self.oil-=realdistance*self.oilcostperkmprint("车开了{}公里,目前邮箱存油{:.2f}升,目前车辆总里程:{}KM".format(realdistance,self.oil,super().gettotaldistance()))defoiling(self,oil):self.oil+=oilprint("加油{}升,目前邮箱存油{:.2f}升".format(oil,self.oil))defneedoiling(self):ifself.oil<5:returnTrueelse:returnFalsedefoutput(self):print("车子动力为{},100KM油耗{:.2f}升,车子累计行驶{}KM,油箱存油{:.2f}L".format(self.power,self.oilcostperkm*100,super().gettotaldistance(),self.oil))car=Car(4,'汽油发动机')car.oiling(50)foriinrange(1,100):print("***************第{}次循环************".format(i))car.oiling(random.randint(10,60))car.drive(random.randint(5,1000))car.output()ifcar.needoiling():break
本文链接地址:https://www.jiuchutong.com/zhishi/311733.html 转载请保留说明!

上一篇:2022最新款带采集功能抖音壁纸小程序源码

下一篇:linux服务器环境一键安装wdCP图形面板安装教程(linux服务器环境搭建)

  • 龙之谷工程师配什么宠物(龙之谷工程师pk加点)(龙之谷工程师是物理还是魔法)

    龙之谷工程师配什么宠物(龙之谷工程师pk加点)(龙之谷工程师是物理还是魔法)

  • 微信一直安装失败是什么情况(微信一直安装失败原因电脑)

    微信一直安装失败是什么情况(微信一直安装失败原因电脑)

  • 小红书几点发流量大(小红书几点发流量最大房地产)

    小红书几点发流量大(小红书几点发流量最大房地产)

  • 华为p30pro能反向充电吗(华为p30可以反向)

    华为p30pro能反向充电吗(华为p30可以反向)

  • 手机无线投屏连接了电视不显示(手机无线投屏连接不上电脑)

    手机无线投屏连接了电视不显示(手机无线投屏连接不上电脑)

  • excel单元格对齐方式在哪里(excel表格怎么锁定单元格)

    excel单元格对齐方式在哪里(excel表格怎么锁定单元格)

  • 申请快手音乐人的条件(申请快手音乐人怎么上传音频)

    申请快手音乐人的条件(申请快手音乐人怎么上传音频)

  • xsmax发热正常吗(xsmax发热严重怎么回事)

    xsmax发热正常吗(xsmax发热严重怎么回事)

  • 快手小店保证金必须交吗(快手小店保证金多少钱)

    快手小店保证金必须交吗(快手小店保证金多少钱)

  • win10卡顿现象严重(win10卡是怎么回事)

    win10卡顿现象严重(win10卡是怎么回事)

  • 国行ns和日版区别(ns国行跟日版)

    国行ns和日版区别(ns国行跟日版)

  • 电脑叮咚响个没完是什么原因(电脑叮咚响个没完)

    电脑叮咚响个没完是什么原因(电脑叮咚响个没完)

  • iphone11突然没声音(苹果11无缘无故没有声音)

    iphone11突然没声音(苹果11无缘无故没有声音)

  • 怎么分享微信聊天记录(怎么分享微信聊天记录长图)

    怎么分享微信聊天记录(怎么分享微信聊天记录长图)

  • 爱奇艺会员可以同时几个人用(爱奇艺会员可以投屏到电视上么)

    爱奇艺会员可以同时几个人用(爱奇艺会员可以投屏到电视上么)

  • 商家同意退款多久到账(商家同意退款多久有效)

    商家同意退款多久到账(商家同意退款多久有效)

  • mate30闪存ufs规格(mate30pro闪存ufs)

    mate30闪存ufs规格(mate30pro闪存ufs)

  • 苹果自带软件有哪些(苹果自带软件有微信吗)

    苹果自带软件有哪些(苹果自带软件有微信吗)

  • 8p是a几处理器(苹果14pro是什么处理器)

    8p是a几处理器(苹果14pro是什么处理器)

  • word怎么下载到电脑上(word怎么下载到u盘)

    word怎么下载到电脑上(word怎么下载到u盘)

  • 小米智能出行助手(小米智能出行助手怎么用)

    小米智能出行助手(小米智能出行助手怎么用)

  • iphone图片格式怎么改(iphone图片的格式)

    iphone图片格式怎么改(iphone图片的格式)

  • 抖音直播管理员怎么踢人(抖音直播管理员怎么发飘屏)

    抖音直播管理员怎么踢人(抖音直播管理员怎么发飘屏)

  • vivox27恢复出厂设置在哪里(vivox27恢复出厂设置怎么恢复之前的设置)

    vivox27恢复出厂设置在哪里(vivox27恢复出厂设置怎么恢复之前的设置)

  • 苹果手机爱思全绿代表什么(苹果手机爱思全绿可以刷出来吗)

    苹果手机爱思全绿代表什么(苹果手机爱思全绿可以刷出来吗)

  • 叨叨记账怎么设置明星(叨叨记账怎么设置读者名字)

    叨叨记账怎么设置明星(叨叨记账怎么设置读者名字)

  • 出租设备的租金收入记入( )账户
  • 电子税务局规范
  • 无形资产加计扣除最新政策
  • 认缴后怎么才算实缴
  • 经营许可证要交税吗
  • 汇算清缴企业所得税退税账务处理
  • 当月增值税为负数
  • 汇算清缴调增的金额,如何做会计分录
  • 企业所得税汇算清缴申报表
  • 出口抵减内销产品应纳税额是借方还是贷方
  • 汽车行业保险丝
  • 营改增后房地产企业增值税税收筹划存在问题
  • 全额拨款事业单位工资都一样吗
  • 税务局代增值税专用发票盖什么章
  • 建筑公司资源税的征税
  • 会议费报销注意事项
  • 员工出差报销制度
  • 专用发票离线限额是什么意思
  • 所得税费用可以抵减利润吗
  • 持续经营净利润是什么意思
  • 个体户生产所得税怎么计算
  • 更换营业执照要多久才能拿到
  • windows11安装后卡顿
  • 华为鸿蒙系统的服务
  • win7系统如何查看主板型号
  • 本年利润余额的计算公式
  • 净资产增加数怎么计算
  • 预提利息的分录怎么做
  • win11怎么用win10界面
  • 怎么找回windows图片查看器
  • 工商年报缴费基数是什么意思
  • 公司的贷款过桥怎么办
  • 中秋买东西有讲究吗?
  • 原材料当做废品怎么做
  • 全年一次性奖金计税方式
  • 代垫运费增值税怎么算
  • 国有企业所得税政策
  • 固定资产折旧怎么做账务处理
  • html页面间传数据
  • 浏览器集成什么意思
  • php生成颜色面板
  • vue项目引入axios
  • php文件上传后只显示了路径怎么办啊
  • 利润分配的顺序依次是什么
  • 在建工程预付款超过审计价怎么办
  • 员工出国公司要承担的责任
  • 核定征收的收入
  • python中mktime函数
  • puthon zip函数
  • 平时加班和节假日加班工资
  • 工程材料税票怎样抵税
  • 更正申报会扣分吗
  • 注销小规模财务报表怎么办
  • 技术服务合同的税率
  • 浅谈数据库优化设计
  • 一步一步的简单
  • 我们公司投资新公司做账
  • 消费税纳税人的具体纳税期限由主管税务机关
  • 缴纳水土保持补偿费分录是什么
  • 无形资产减值准备借贷
  • 交易性金融资产的账务处理
  • 服装、眼镜、鞋、西药的发票如何做账较好?
  • 什么是现金等价物
  • 现金流水账怎么做表格
  • 记账凭证负数怎么填写样板
  • 电脑显示配置windows
  • win10自带地图打不开
  • linux各种命令
  • Win7系统如何查看隐藏文件
  • linux小技巧
  • 简述android多线程编程的实现方式
  • 批处理加密工具
  • java script教程
  • jqueryui dialog
  • js创建对象的方法有哪些
  • js如何判断输入输出
  • 江苏国家电子税务局网站
  • 税务经侦科立案标准
  • 小规模纳税人无进项发票要如何做账?
  • 公司小规模怎么纳税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设