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't rool back an odometer!")
def increment_odometer(self,miles):
self.odometer_reading+=miles
#子類
class electriccar(car):
def __init__(self,make,model,year):
super().__init__(make,model,year)
#父類英文superclass,super()讓子類可以呼叫父類方法
self.battery_size=70#電動車的獨有屬性
def describe_battery(self):
print("this car has a "+str(self.battery_size)+"-kwh battery.")
my_tesla=electriccar('tesla','model s',2016)
print(my_tesla.get_descriptive_name())
my_tesla.describe_battery()
如果父類存在乙個方法,並不適合乙個子類,你可以在該子類函式重寫。在你建立乙個子類物件時,呼叫該函式,python不會考慮該函式在父類是什麼情況 Python 父子類繼承筆記
簡介 繼承者含有被繼承者的所有屬性方法或函式。例如 class parent defhello self print 父類方法 class child parent pass python有自己的語法標準,當我希望類是空實現的時候。是不符合python的語法標準的,所以不能通過編譯,但我通過pass...
python建立子類 python 建立子類
如果你的類沒有從任何祖先類派生,可以使用object作為父類的名字。經典類的宣告唯一不同之處在於其 沒有從祖先類派生 此時,沒有圓括號 usr bin env python coding utf 8 class classicclasswithoutsuperclasses def fun1 sel...
python子類 python 子類和派生 繼承
新式類和經典類得區別 class classicclass pass class newstyleclass object pass x1 classicclass x2 newstyleclass print x1.class type x1 print x2.class type x2 輸出結果...