Python 类:以汽车为例


class Car():
def __init__(self,make,model,year):
'''以self为前缀的变量都可供类中的所有方法使用,还可以通过类的任何实例来访问这些变量。
可以将self理解为制作原料,方法为制作图纸。用户只需要传入数据,python会自动利用原料self
和图纸制作出用户想要的“实例”。'''
#初始化属性(以下四行)
self.make = make
self.model = model
self.year = year
self.odometer_reading = 0                                                           #给属性指定默认值,也可以在形参中指定

def get_descriptive_name(self):
message = str(self.year) + ' ' + self.make +' ' + self.model
return message.title()

def read_odometer(self):
print('This car has ' + str(self.odometer_reading) + 'miles on it.')
                                                                                                 #修改属性的值可以1.直接修改属性值,如(实例名.odometer_reading = 新值)
def update_odometer(self,mileage):#2.也可以通过方法修改属性值
if mileage >= self.odometer_reading:
self.odometer_reading = mileage
else:
print('You can\'t roll back an mileage.')

def increase_odometer(self,miles):                                               #3.还可以通过方法对属性在原有数值的基础上修改
self.odometer_reading += miles                                                  #‘+=’是指新值为两个值之和,如(a += b ) = a 新值

def fill_gas_tank(self):
print('Yes,gas is necessary!')


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,')


class ElectricCar(Car):#继承
def __init__(self,make,model,year):
super().__init__(make,model,year)
self.battery = Battery()#拾遗

def fill_gas_tank(self):                                                           #重写父类:假设父类中有这个方法,它对电动车毫无意义,可以通过这种方法重写。
print('This car doesn\'t need a gas tank!')

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM