python--从入门到实践--chapter 9 类
发布日期:2021-07-01 03:39:30
浏览次数:2
分类:技术文章
本文共 1965 字,大约阅读时间需要 6 分钟。
类的定义格式:
class Name(Father_class): def __init__(self, para, ...): self.para = x def __init__(self, para, ...): super().__init__(para, ...) #调用父类的构造函数
class Car(): def __init__(self,make,model,year): #构造函数 self.make = make self.model = model self.year = year self.odometer_reading = 0 def get_descriptive_name(self): long_name = str(self.year) + ' ' + self.make + ' ' + self.model return long_name.title() def read_odometer(self): print('This car has ' + str(self.odometer_reading) + ' miles on it.') def update_odometer(self,mileage): if mileage >= self.odometer_reading: self.odometer_reading = mileage else: print('You can not roll back an odometer!') def increment_odometer(self, miles): if miles < 0: print('You can cheat me! driving miles < 0') else: print('driving this car ' + str(miles) + 'miles') self.odometer_reading += miles def fill_gas_tank(self): print('This car need fill gas !')class Battery(): def __init__(self, battery_size=70): #构造函数,带默认参数值 self.battery_size = battery_size def describe_battery(self): print('This car has a ' + str(self.battery_size) + '-KWh battery.') def upgrade_battery(self): if self.battery_size != 85: self.battery_size = 85 print("battery update successfully !") def get_range(self): if self.battery_size == 70: range = 240 elif self.battery_size == 85: range = 270 message = 'This car can go approximately ' + str(range) message += ' miles on a full charge.' print(message)class ElectricCar(Car): #类的继承 def __init__(self, make, model, year): super().__init__(make, model, year) #调用父类初始化函数初始化父类成员 self.battery = Battery() #新的成员,一个Battery对象 def fill_gas_tank(self): # super().fill_gas_tank() print('This car doesn\'t need a gas tank!')my_tesla = ElectricCar('tesla','model s', 2019)print(my_tesla.get_descriptive_name())my_tesla.battery.describe_battery()my_tesla.fill_gas_tank()my_tesla.battery.get_range()my_tesla.battery.upgrade_battery()my_tesla.battery.get_range()
转载地址:https://michael.blog.csdn.net/article/details/89146887 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
初次前来,多多关照!
[***.217.46.12]2024年04月14日 01时58分05秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
C++虚继承的内存模型
2019-05-02
C/C++中const关键字详解
2019-05-02
C++设计模式09——组合模式
2019-05-02
windows程序员进阶系列:《软件调试》之Win32堆的调试支持
2019-05-02
修改dylib的默认链接位置
2019-05-02
在Mac系统下发布Qt程序详细教程
2019-05-02
Qt读取苹果系统OSX上的plist资源文件
2019-05-02
Qt工程配置.pro详解--(如何正确的配置Qt工程)
2019-05-02
C++设计模式10——装饰模式
2019-05-02
C++设计模式11——外观模式
2019-05-02
两个基于C++/Qt的开源WEB框架
2019-05-02
C++设计模式12——享元模式
2019-05-02
C++设计模式13——代理模式
2019-05-02
QThread详解
2019-05-02
libcurl 邮件发送示例
2019-05-02
使用libcurl库实现SMTP发送邮件
2019-05-02
libcurl实现smtp发送支持附件
2019-05-02
curl酷炫技巧:使用curl命令发送邮件
2019-05-02
libcurl发送邮件C++类 (转)
2019-05-02
libcurl教程(转)
2019-05-02