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 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:python--从入门到实践--chapter 10 文件及错误
下一篇:算法--递归--汉诺塔问题

发表评论

最新留言

初次前来,多多关照!
[***.217.46.12]2024年04月14日 01时58分05秒