第036講:類和物件:給大家介紹物件 | 課後測試題及答案
阿新 • • 發佈:2020-07-17
測試題:
0. 物件中的屬性和方法,在程式設計中實際是什麼?
屬性就是靜態的特徵;方法呢就是動態的動作,可以是一個個的函式。
答:變數(屬性)和函式(方法)
1. 類和物件是什麼關係呢?
類是一個比較模糊的概念,
答:類和物件的關係就如同模具和用這個模具製作出的物品之間的關係。一個類為它的全部物件給出了一個統一的定義,而他的每個物件則是符合這種定義的一個實體,因此類和物件的關係就是抽象和具體的關係。
2. 如果我們定義了一個貓類,那你能想象出由“貓”類例項化的物件有哪些?
花貓,黑貓,白貓。。。。
答:叮噹貓,咖啡貓,Tom(Tom&Jerry),Kitty(Hello Kitty)……
3. 類的定義有些時候或許不那麼“擬物”,有時候會抽象一些,例如我們定義一個矩形類,那你會為此新增哪些屬性和方法呢?
屬性有:長、寬、面積,方法嘛:求面積,
答:屬性可以是長和寬,方法可以是計算周長、面積等。
4. 類的屬性定義應該儘可能抽象還是儘可能具體?
類的屬性定義儘可能具體吧,屬性具體點比較好區分類
答:正確的做法是應該儘可能的抽象,因為這樣更符合面向物件的思維。
5. 請用一句話概括面向物件的幾個特徵?
封裝 | 將類的方法、屬性封裝起來,使用方便,但是具體的實現過程被封裝起來無需知道 |
繼承 | 父子關係, |
多型 | 同一個方法或者說函式在不同的類下都可以使用,且效果可能不同 |
答:
封裝 | 對外部隱藏物件的工作細節 |
繼承 | 子類自動共享父類之間資料和方法的機制 |
多型 | 可以對不同類的物件呼叫相同的方法,產生不同的結果 |
6. 函式和方法有什麼區別?
答:細心的童鞋會發現,方法跟函式其實幾乎完全一樣,但有一點區別是方法預設有一個 self 引數,這個引數是什麼意思?請聽下一講詳細分解。
動動手
0. 按照以下提示嘗試定義一個 Person 類並生成類例項物件。
程式碼清單:
class Person: name = '小甲魚' def printName(self): print(self.name)
1. 按照以下提示嘗試定義一個矩形類並生成類例項物件。
1 class Rectangle: 2 length = 5 3 width = 4 4 5 def setRect(self): 6 print("請輸入矩形的長和寬...") 7 self.length = float(input('長:')) 8 self.width = float(input('寬:')) 9 10 def getRect(self): 11 print('這個矩形的長是:%.2f,寬是:%.2f' % (self.length, self.width)) 12 13 def getArea(self): 14 return self.length * self.width