繼承
如下例:
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 roll 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)
my_tesla = electriccar('tesla', 'model s', 2016)
print(my_tesla.get_descriptive_name())
定義子類時,在括號裡指定父類的名稱。super()幫助python將父類和子類關聯起來,呼叫父類的方法_init_(),讓electriccar例項包含父類的所有屬性。
上面electriccar例項的行為與car例項一樣,現在定義電動汽車特有的屬性和方法
在_init_()函式內定義乙個電動汽車特有的屬性,self.battery_size=70
編寫乙個列印電瓶描述的方法
def describe_battery(self):
print("this car has a " + str(self.battery_size) + "-kwh battery.")
重寫父類的方法
在子類中重新定義父類的方法,執行時將忽略父類中的方法,轉而執行子類中重新定義的方法。
匯入類匯入單個類
將car類儲存在乙個名為car.py的模組中,在另乙個檔案中匯入car類並建立其實例:
from car import car
在乙個模組中儲存多個類
例如類battery和electriccar都在模組car.py中,若只要匯入乙個electriccar類:
from car import electriccar
若兩個類都匯入:
from car import car,electriccar
匯入整個模組
可以直接import module_name,再用句點表示法訪問需要的類。這種匯入方法簡單,**也易於閱讀
匯入模組中的所有類
from module_name import *
不推薦這種匯入方式。
一、如果只要看一下檔案開頭的import語句,就能清楚地知道程式使用了哪些類,將大有裨益。
二、如果程式檔案中有其他同名的類,執行時將引發難以診斷的錯誤
第十一次作業
問題 答案這個作業屬於那個課程 c語言程式設計ii 這個作業要求在 我在這個課程的目標是 精通c語言,深入了解c語言的程式設計,學會自己編寫程式 這個作業在那個具體方面幫助我實現目標 進一步的的認識函式,學習函式的定義 呼叫和申明,並學習變數的作用域 生存週期和儲存型別 參考文獻 1.pta實驗作業...
第十一次作業
這個作業屬於哪個課程 c語言程式設計ll 這個作業要求在 我在這個課程的目標是 熟練掌握運用各語法 這個作業在哪個具體方面幫助我實現目標 巨難的程式設計題 參考文獻 題目內容描述 本題要求實現乙個函式,判斷任一給定整數n是否滿足條件 它是完全平方數,又至少有兩位數字相同,如144 676等。1.1....
第十一次作業
4 cola公司的雇員分為以下若干類 知識點 多型 1 colaemployee 這是所有員工總的父類,屬性 員工的姓名,員工的生日月份。2 salariedemployee colaemployee 的子類,拿固定工資的員工。3 hourlyemployee colaemployee 的子類,按小...