类继承、组合
一、任務描述
??本實驗任務主要對類繼承進行一些基本操作,通過完成本實驗任務,要求學生能熟練掌握類的繼承與組合,并對類繼承的基本操作進行整理并填寫工作任務報告。
二、任務目標
1、掌握Python的類繼承
三、任務環(huán)境
Ubuntu16.04、Python2.7
四、任務分析
??在python3中所有類默認繼承object,凡是繼承了object的類都成為新式類,以及該子類的子類,Python3中所有的類都是新式類,沒有集成object類的子類成為經(jīng)典類(在Python2中沒有集成object的類以及它的子類都是經(jīng)典類)。
?
| ???溫馨提示 |
| 繼承:即一個派生類(derived class)繼承基類(base class)的字段和方法 |
五、任務實施
步驟1、環(huán)境準備
??右擊Ubuntu操作系統(tǒng)桌面,從彈出菜單中選擇【Open in Terminal】命令 打開終端。
??通過【cd /home】切換到home目錄下。【ls】查看該目錄下的所有內(nèi)容。
圖1 切換目錄??【mkdir extends】在home目錄下創(chuàng)建extends文件夾。
圖2 創(chuàng)建文件夾步驟2、繼承
??【cd extends】切換到extends目錄下,【vim class1.py】回車后創(chuàng)建并編輯名為class1的Python文件
圖3 創(chuàng)建Python文件??回車后進入編輯框內(nèi),按鍵盤【i】進入編輯狀態(tài),如下程序只作參考,不需要編寫。
??可以看到teacher和student類中,有很多重復的代碼。
??它們都有人類所共有的name,age,sex等特征,以及有人類有的walk這個技能,
??那么就可以把人類共有的name,age,sex特征和walk技能抽離出來,生成一個人的類,
??然后用老師和學生的類來繼承人的類的這些特征和技能,這樣可以避免寫重復的代碼。
圖4 編輯Python文件??編譯如下程序。
??把老師和學生中所重復的代碼抽離出來,生成人類。
圖5 編輯Python文件??定義一個老師類,來繼承人的類的一個特征和技能。
??定義Teacher類時,只需要把額外的屬性加上。如course.
一定要用?super(Teacher, self).__init__(name, age,sex)去初始化父類,否則,繼承自 Person 的 Teacher 將沒有 name、age和sex。
??函數(shù)super(Teacher, self)將返回當前類繼承的父類,即 Person ,然后調(diào)用__init__()方法,注意self參數(shù)已在super()中傳入,在__init__()中將隱式傳遞,不需要寫出(也不能寫)。
圖6 編輯Python文件??定義一個學生類,來繼承人的類的一些特征和技能:
圖7 編輯Python文件??類定義好了,通過類實例化生成一個學生和一個老師
圖7 編輯python文件??編輯完畢后,按【esc】退出編輯狀態(tài),【:wq】保存并退出編輯框,【python class1.py】執(zhí)行class1的Python文件。
??得到子類繼承父類的屬性及方法,None值的產(chǎn)生是tell函數(shù)執(zhí)行的結果, 因為它沒有return所以返回值是None。
圖8 運行Python文件步驟3、組合
??【vim class2.py】回車后創(chuàng)建并編輯名為class2的Python文件。
圖9 創(chuàng)建Python文件??回車后進入編輯框內(nèi),按鍵盤【i】進入編輯狀態(tài),編輯如下程序。
??一個類被定義后,目標就是把它當成一個模塊來使用,并把這些對象嵌入到你的代碼中去,同其他數(shù)據(jù)類型及邏輯執(zhí)行流混合使用。
??組合,就是讓不同的類混合并加入到其他類中,來增強功能和代碼重用性。
定義日期的類。
??定義學生類,實現(xiàn)學生的基本信息,通過【self.birth = Date(year,month,day)】來組合日期類信息。
圖11 定義學生類??實例化學生類,通過birth.tell_birth()調(diào)用日期的方法。
圖12 實例化學生類??編輯完畢后,按【esc】退出編輯狀態(tài),【:wq】保存并退出編輯框,【python class2.py】執(zhí)行class2的Python文件。
圖13 運行Python文件轉載于:https://www.cnblogs.com/yu-1104/p/9050503.html
《新程序員》:云原生和全面數(shù)字化實踐50位技術專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結
- 上一篇: 微信小程序函数调用监控
- 下一篇: sts,eclipse里面配置tomca