3. 增加實體方法

實體方法(instance method)是依附在實體的方法(函式),使用時由參照名稱.方法名稱()呼叫它。實體方法寫在類別之中,它通常會用到實體的實體變數(instance variable),因此在實體方法的參數中要有一個self參數以取得實體位址。

(1) Student類別

以下是加入建構元的例子:

class Student():
    #建構元
    def __init__(self, no, name):
        self.no = no
        self.name = name
    
    #實體方法(1)    
    def getNo(self):
        return self.no

    #實體方法(2)     
    def getName(self):
        return self.name
    
    #實體方法(3) 
    def department(self):
        if self.no[4]=='6':
            return '資管'
        else:
            return '其他'

第8, 12, 16行分別宣告一個實體方法,分別用來取出學號、取出姓名、取出科系名。在這3個實體方法中各有一個self參數,讓方法可以取用實體內部的變數及其他方法。

產生實體:

s1 = Student('10546001', '王小明')

#呼叫s1的物件方法
print(s1.getNo())
print(s1.getName())
print(s1.department())

第4, 5, 6行呼叫s1的方法,並顯示回傳值。

執行結果:

10546001 王小明 資管

說明:

問題:

撰寫一個「員工」(Employee)的類別,其中有一個建構元,分別設定員工編號、姓名、職等。另外也有4個實體方法,分別可以回傳員工編號、姓名、職等、底薪。其中,底薪由職等決定,如果職等是A或B,底薪是42000;如果職等是C或D或E,底薪是37500;其他職等的底薪是32000。請建立以下3個實體,顯示他們的編號、姓名、職等、底薪: 編號:A001,姓名:王小明,職等:A 編號:A002,姓名:陳小華,職等:C 編號:A003,姓名:李小婷,職等:F