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