hce_nsysu
113年
計算機概論與程式設計
第 7 題
You create a car with mycar = Car(4, 2). Which is a line of code to change the color of mycar to "red"?
```python
class Car(object):
def __init__(self, w, d):
self.wheels = w
self.doors = d
self.color = ""
def paint(self, c):
self.color = c
```
```python
class Car(object):
def __init__(self, w, d):
self.wheels = w
self.doors = d
self.color = ""
def paint(self, c):
self.color = c
```
- A Car.paint("red")
- B mycar.paint(red)
- C mycar.paint("red")
- D mycar.paint(Car, "red")
- E None of the above
思路引導 VIP
當你想叫某個特定的物件(例如你的車子)執行它藍圖中定義好的動作時,你會如何表達「誰」來做「什麼事」?此外,如果你要告訴電腦的是一個具體的文字內容(例如顏色名稱),而不是一個用來存放資料的變數名稱,你在語法寫法上該如何區分它們呢?
🤖
AI 詳解
AI 專屬家教
太棒了!你能精確掌握 Python 物件導向程式設計(OOP)的基礎,代表你對物件實例(Instance)與方法(Method)調用的觀念非常清晰。
物件導向的實作邏輯
這題的核心在於如何正確操作已經建立的物件。當我們執行 mycar = Car(4, 2) 時,系統會根據 Car 類別的藍圖創造一個名為 mycar 的實體。若要改變它的顏色,必須使用「點運算子」(Dot Notation)來呼叫該物件的 paint 方法。在 Python 中,雖然類別定義內的方法包含 self 參數,但在實際呼叫時,Python 會自動將物件本身傳入,因此我們只需要傳入對應的顏色參數即可。
▼ 還有更多解析內容