日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

类继承、组合

發(fā)布時(shí)間:2025/5/22 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 类继承、组合 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、任務(wù)描述

??本實(shí)驗(yàn)任務(wù)主要對(duì)類繼承進(jìn)行一些基本操作,通過完成本實(shí)驗(yàn)任務(wù),要求學(xué)生能熟練掌握類的繼承與組合,并對(duì)類繼承的基本操作進(jìn)行整理并填寫工作任務(wù)報(bào)告。

二、任務(wù)目標(biāo)

1、掌握Python的類繼承

三、任務(wù)環(huán)境

Ubuntu16.04、Python2.7

四、任務(wù)分析

??在python3中所有類默認(rèn)繼承object,凡是繼承了object的類都成為新式類,以及該子類的子類,Python3中所有的類都是新式類,沒有集成object類的子類成為經(jīng)典類(在Python2中沒有集成object的類以及它的子類都是經(jīng)典類)。

?

???溫馨提示
繼承:即一個(gè)派生類(derived class)繼承基類(base class)的字段和方法

五、任務(wù)實(shí)施

步驟1、環(huán)境準(zhǔ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文件

??回車后進(jìn)入編輯框內(nèi),按鍵盤【i】進(jìn)入編輯狀態(tài),如下程序只作參考,不需要編寫。

??可以看到teacher和student類中,有很多重復(fù)的代碼。

??它們都有人類所共有的name,age,sex等特征,以及有人類有的walk這個(gè)技能,

??那么就可以把人類共有的name,age,sex特征和walk技能抽離出來,生成一個(gè)人的類,

??然后用老師和學(xué)生的類來繼承人的類的這些特征和技能,這樣可以避免寫重復(fù)的代碼。

圖4 編輯Python文件

??編譯如下程序。

??把老師和學(xué)生中所重復(fù)的代碼抽離出來,生成人類。

圖5 編輯Python文件

??定義一個(gè)老師類,來繼承人的類的一個(gè)特征和技能。

??定義Teacher類時(shí),只需要把額外的屬性加上。如course.
一定要用?super(Teacher, self).__init__(name, age,sex)去初始化父類,否則,繼承自 Person 的 Teacher 將沒有 name、age和sex。

??函數(shù)super(Teacher, self)將返回當(dāng)前類繼承的父類,即 Person ,然后調(diào)用__init__()方法,注意self參數(shù)已在super()中傳入,在__init__()中將隱式傳遞,不需要寫出(也不能寫)。

圖6 編輯Python文件

??定義一個(gè)學(xué)生類,來繼承人的類的一些特征和技能:

圖7 編輯Python文件

??類定義好了,通過類實(shí)例化生成一個(gè)學(xué)生和一個(gè)老師

圖7 編輯python文件

??編輯完畢后,按【esc】退出編輯狀態(tài),【:wq】保存并退出編輯框,【python class1.py】執(zhí)行class1的Python文件。

??得到子類繼承父類的屬性及方法,None值的產(chǎn)生是tell函數(shù)執(zhí)行的結(jié)果, 因?yàn)樗鼪]有return所以返回值是None。

圖8 運(yùn)行Python文件

步驟3、組合

??【vim class2.py】回車后創(chuàng)建并編輯名為class2的Python文件。

圖9 創(chuàng)建Python文件

??回車后進(jìn)入編輯框內(nèi),按鍵盤【i】進(jìn)入編輯狀態(tài),編輯如下程序。

??一個(gè)類被定義后,目標(biāo)就是把它當(dāng)成一個(gè)模塊來使用,并把這些對(duì)象嵌入到你的代碼中去,同其他數(shù)據(jù)類型及邏輯執(zhí)行流混合使用。

??組合,就是讓不同的類混合并加入到其他類中,來增強(qiáng)功能和代碼重用性。
定義日期的類。

圖10 編輯Python文件

??定義學(xué)生類,實(shí)現(xiàn)學(xué)生的基本信息,通過【self.birth = Date(year,month,day)】來組合日期類信息。

圖11 定義學(xué)生類

??實(shí)例化學(xué)生類,通過birth.tell_birth()調(diào)用日期的方法。

圖12 實(shí)例化學(xué)生類

??編輯完畢后,按【esc】退出編輯狀態(tài),【:wq】保存并退出編輯框,【python class2.py】執(zhí)行class2的Python文件。

圖13 運(yùn)行Python文件

轉(zhuǎn)載于:https://www.cnblogs.com/yu-1104/p/9050503.html

《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀

總結(jié)

以上是生活随笔為你收集整理的类继承、组合的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。