---
# System prepended metadata

title: 無標題

---


## 這個程式碼是關於計算員工薪資的，使用了一個叫做「物件導向程式設計」的概念。

首先，讓我們講解一下什麼是物件導向程式設計（OOP）：
物件導向程式設計是一種程式設計的方法，它讓我們可以將程式中的不同部分組織成「物件」，每個物件都有自己的資料和功能。想像一下，如果我們在程式中需要處理一個員工的資訊，我們可以創建一個「員工」物件，其中包含員工的名字、薪資等資料，以及計算薪資的功能。


---

## 現在讓我們來看這段程式碼：

* 首先，我們創建了一個「員工」物件，我們把這個員工叫做「tom」，並給他一個基本時薪為160。這樣，「tom」就有了自己的基本時薪。
    ```python
    tom = Employee(160)
    ```

* 接下來，我們讓「tom」工作了10個小時，並給他一個索引為1的獎金。然後，我們使用「tom」的<code>salary</code>功能來計算他的薪資。這個<code>salary</code>功能會根據他的工作時數、基本時薪和獎金，計算出應該支付給他的薪資。
    ```python
    print(tom.salary(10, 1))
    ```
* 接著，我們使用一個叫做<code>set_payRate</code>的功能，設置了給付比率為<code>[1, 1.3, 1.51]</code>。這樣，每個員工在不同情況下可以得到不同比率的薪資。
    ```python
    Employee.set_payRate([1, 1.3, 1.51])
    ```
* 再次計算「tom」的薪資，這次因為給付比率改變了，所以他的薪資也會有所不同。
    ```python
    print(tom.salary(10, 1))
    ```
* 最後，我們使用了一個叫做<code>estimate</code>的功能，這個功能可以估算出員工在不同情況下的薪資。我們給了一個基本時薪、工作時數和給付比率，然後這個功能返回了估算的薪資。
    ```python
    print(Employee.estimate(160, 20, 1.25))
    ```
