2. 增加建構元、設定實體變數
建構元(constructor)是類別中的一個特別的方法(method,寫在類別中的函式),名稱固定是__init__。當類別生成實體(instance)時,建構元會被自動執行,它通常會設定某些實體變數(instance variable)。
每一個實體有自己的實體變數,它是屬於某個實體的變數,不同的實體有不同的實體變數。
以下是加入建構元的例子:
第2行宣告一個建構元,當程式產生Student實體時建構元會被自動執行。一個類別中最多只能寫一個建構元,在本例子中的建構元有3個參數,self是指產生的實體之參照(reference),其值由系統設定,不必傳值給它;但其後的no及name參數將接收引數值,因此要在產生實體的指令中撰寫傳遞給它們的值,以下是一個例子:
第2行,要求建立一個Student類別的實體,指定產生的實體之參照名稱是s1,同時也傳入2個引數給建構元,由建構元將值填入實體變數(instance variable)中。
執行結果:
<main.Student object at 0x00000171E84E2490> 10546001 王小明
說明:
問題:
撰寫一個「員工」(Employee)的類別,其中有一個建構元。請以此產生2個實體。其一,員工編號A001,姓名是王小明,男性,25歲;其二,員工編號A002,姓名是陳小華,女性,24歲。產生完此2個實體後,將它們的實體變數印出來。