[課後作業] 第036講:類和對象:給大家介紹對象|課後測試題及答案
測試題:版權屬於:bbs.fishc.com
:F#R,|Ed.P+ M9bBC]"@KUwkWA-(pXH
0.對像中的屬性和方法,在編程中實際是什麼?c#,T>Q
b&6I%",L+ZFSh8'~kGJ[=
}$ty*IM%+aX# NS0G_>:`gjP2EDWf
1.類和對像是什麼關係呢?版權屬於:bbs.fishc.com
Rrz7oIDE+=Cwf'mZ]:ljx
^:y`8ra) ]fHim4X*FwG02?Rg%
2.如果我們定義了一個貓類,那你能想像出由“貓”類實例化的對像有哪些?WM&"ZkdUN5
!A &[%GF{H~Jj^Z,z'(+?wVMn
w6yjd[7Q#h9|v2qBmuGF)x>XDV( W
3.類的定義有些時候或許不那麼“擬物”,有時候會抽像一些,例如我們定義一個矩形類,那你會為此添加哪些屬性和方法呢?0b} <&8
YsSjc3`]Q t>zp&JD1U^EZGmKn
p'Ylt9;[wkPH3(jO R%}> sM
4. 類的屬性定義應該盡可能抽像還是盡可能具體?
yJ)xhwB=
mWkC}RLH+6:X^7le')0A?O=QG
f<yN1#sD(^&QJ`]eG4B;@A
5.請用一句話概括面向對象的幾個特徵?thb) G
SMcdv*`"@N2nZJ-Bpmr3:Q)[R
h@Alkjm~I#:UuL$sSv)?}yCx
6.函數和方法有什麼區別?來自:bbs.fishc.com
pdX56Wx8 _oViN=l}m`'@S-$9.CE*K
y.tKgm>9@uAH1a-jRceofNrY
動動手:
RZH|?1h"C ]wxa #Itfv{Kc
0.按照以下提示嘗試定義一個Person類並生成類實例對象。&`ApJgx
l;[yx B,eqo~a$NtG+]E
屬性:姓名(默認姓名為“小甲魚”)Powered by bbs.fishc.com
方法:打印姓名Powered by bbs.fishc.com
提示:方法中對屬性的引用形式需加上self,如self.name g7ue`OKpb
8"AEYr%[lu#6anBp}ycdbh5H`3{ 72]
=C8~<S$Ia> +MkmV5?'39z
1.按照以下提示嘗試定義一個矩形類並生成類實例對象。6}:Xht
cEb8{C6^[~D<pX3gMk_tUw?+n1m
屬性:長和寬版權屬於:bbs.fishc.com
方法:設置長和寬-> setRect(self),獲得長和寬-> getRect(self),獲得面積-> getArea(self) =Y]zAj+Tb_
提示:方法中對屬性的引用形式需加上self,如self.width 'xduZ=F?
D3< &)U^}Jc_]Es8VfX|IvQFo
程序截圖:版權屬於:bbs.fishc.com
Qa;=o8_C5,{c<>Ngwin)"fr

k';P|<^4MprJeQ=?*D-@9]&
p3`;J8^Hr{YX=RBTGIe|
2.請寫下這一節課你學習到的內容:格式不限,回憶並複述是加強記憶的好方式!
回复您的答案即可查看參考答案!]WT$sj
muPpE)GcFqh,Y7;&fR}QMO
$_ns,Zc"NWfRa5{e0x}1I
測試題答案:
版權屬於:bbs.fishc.com
4'J,wYv1IG:Dm{a8E=ScZK_"ns
動動手答案:版權屬於:bbs.fishc.com
2.請寫下這一節課你學習到的內容:格式不限,回憶並複述是加強記憶的好方式!
小甲魚希望你認真對待作業就像你希望小甲魚推出高質量視頻一樣渴望^_^
(一)對象
這節課給大家介紹對象。我們之前說過Python無處不對象,Python到處都是對象,然而我們很多人不理解對像到底是什麼?他們只是在學習的時候有聽過面向對象編程這麼一回事,但是他們仍然在使用對象。
對像是模擬真實世界,把數據和代碼都封裝在一起。

下面是關於類的一個簡單的例子:
上面的語句就定義好了一個類。
tt = Turtle() #实例化一个类对象
調用類和調用函數相同,Python的類名以大寫字母開頭,函數以小寫字母開頭,方便區分。
這裡實例化了一個對象,並用tt 這個變量給指過去,下面的語句用於調用對象裡的方法:
(二)面向對象的特徵
OO = Object Oriented(面向對象)
Python就是一門純粹的面向對象編程的語言,面向對象編程有什麼特徵呢?
- 第一個特徵就是封裝
表面上看,對象封裝了屬性(也就是變量)和方法(也就是函數),成為了一個獨立性很強的模塊,封裝更是一種信息隱蔽技術,使得我們的數據更加安全,舉例說明:
Python的列表實際上就是一個對象,它提供了若干種方法供我們根據需求來調整整個列表,但是我們知道列表對象裡邊的這些方法是如何實現的嗎?我們不知道。我們也不知道列表對象裡有哪些變量。這就是所謂的封裝,它封裝起來,只給我們需要的方法的名字,然後我們調用這個名字,知道它可以實現就OK了。但是不會告訴我們具體的實現過程。
- 第二個特徵就是繼承
繼承是子類自動共享父類之間數據和方法的機制。
定義子類的方法為:class 子類名(父類名):
這裡我們自定義一個list 的子類Mylist,我們發現子類Mylist 也能調用父類list 的方法。
- 第三個特徵就是多態
多態的概念是不同對像對同一方法響應不同的行動。
0 留言:
發佈留言