理解多態(tài)的使用等相關(guān)介紹,需要的朋友可以參考一下" />

最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python編程-封裝,繼承與多態(tài)

 更新時間:2022年01月27日 09:58:36   作者:howard2005 ?  
這篇文章主要介紹了Python編程-封裝,繼承與多態(tài),文章主要目的解如何利用封裝保護(hù)屬性、掌握單繼承和多繼承、會重寫和調(diào)用父類方法
理解多態(tài)的使用等相關(guān)介紹,需要的朋友可以參考一下

一、類的封裝

為什么需要封裝:

  • Python是面向?qū)ο蟮木幊陶Z言,因為面向?qū)ο笾兴械膶嶓w都是以對象為基本單位的,以宏觀世界的實體來映射到計算機(jī)世界中,每個對象有它自己的屬性和自己的行為,我們用類來將這些屬性和行為封裝到一起,當(dāng)它實例化出來一個對象的時候,我們可以說這個對象具有這些屬性性和行為。
  • 對象的數(shù)據(jù)封裝特性徹底消除了傳統(tǒng)結(jié)構(gòu)方法中數(shù)據(jù)與操作分離所帶來的種種問題,提高了程序的可復(fù)用性和可維護(hù)性,降低了程序員保持?jǐn)?shù)據(jù)與操作內(nèi)容的負(fù)擔(dān)。
  • 對象的數(shù)據(jù)封裝特性還可以把對象的私有數(shù)據(jù)和公共數(shù)據(jù)分離開,保護(hù)了私有數(shù)據(jù),減少了可能的模塊間干擾,達(dá)到降低程序復(fù)雜性、提高可控性的目的。

1、案例演示

編寫程序 - 演示屬性沒有受保護(hù)的類.py

運(yùn)行程序,查看結(jié)果:

2、案例分析

上述案例將年齡賦值為一個負(fù)數(shù)-18,在語法上不會有任何問題,因此程序可以正常運(yùn)行,但在現(xiàn)實生活中明顯是不合理的,一般而言,年齡應(yīng)該是某個范圍內(nèi)的正整數(shù),比如[1, 120]內(nèi)的某一個整數(shù)值。

3、解決方案

為了避免出現(xiàn)上述不合理的問題,在設(shè)計一個Python類時,應(yīng)該對成員變量的訪問作出一些限定,不允許外界隨意訪問,這就需要實現(xiàn)類的封裝。

如何實現(xiàn)封裝:

1、封裝的定義

類的封裝,是指將對象的狀態(tài)信息隱藏在對象內(nèi)部,不允許外部程序直接訪問對象的內(nèi)部信息,而是通過該類所提供的方法來實現(xiàn)對內(nèi)部信息的操作訪問。

2、封裝的實現(xiàn)

在定義一個類時,把屬性定義為私有屬性,即在屬性名的前面加上兩個下劃線,私有屬性只能在它所在類中被訪問,如果外界想要訪問私有屬性,需要提供方法來訪問,其中包括用于獲取屬性值的get_xxx()方法(簡稱getter)和設(shè)置屬性值的set_xxx()方法(簡稱setter)。

3、案例演示

編寫程序 - 演示私有屬性.py

運(yùn)行程序,查看結(jié)果:

直接訪問私有屬性,看看會是什么情況?

 到此這篇關(guān)于Python編程-封裝,繼承與多態(tài)的文章就介紹到這了,更多相關(guān)Python封裝,繼承與多態(tài)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python 有可能刪除 GIL 嗎?

    Python 有可能刪除 GIL 嗎?

    這篇文章主要介紹了Python 有可能刪除 GIL 嗎,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下
    2021-03-03
  • python實現(xiàn)可以斷點續(xù)傳和并發(fā)的ftp程序

    python實現(xiàn)可以斷點續(xù)傳和并發(fā)的ftp程序

    斷點續(xù)傳和并發(fā)是現(xiàn)在很多ftp程序都支持的功能,如果我們用python如何來做斷點續(xù)傳和并發(fā)了,今天來看一篇python實現(xiàn)斷點續(xù)傳和并發(fā)的ftp程序例子吧,具體如下。
    2016-09-09
  • Python3.5編程實現(xiàn)修改IIS WEB.CONFIG的方法示例

    Python3.5編程實現(xiàn)修改IIS WEB.CONFIG的方法示例

    這篇文章主要介紹了Python3.5編程實現(xiàn)修改IIS WEB.CONFIG的方法,涉及Python針對xml格式文件的讀寫以及節(jié)點操作相關(guān)技巧,需要的朋友可以參考下
    2017-08-08
  • Pytorch四維Tensor轉(zhuǎn)圖片并保存方式(維度順序調(diào)整)

    Pytorch四維Tensor轉(zhuǎn)圖片并保存方式(維度順序調(diào)整)

    這篇文章主要介紹了Pytorch四維Tensor轉(zhuǎn)圖片并保存方式(維度順序調(diào)整),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • python 如何在list中找Topk的數(shù)值和索引

    python 如何在list中找Topk的數(shù)值和索引

    這篇文章主要介紹了python 如何在list中找Topk的數(shù)值和索引的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • Python中用表格格式打印列表的兩種實現(xiàn)

    Python中用表格格式打印列表的兩種實現(xiàn)

    本文將詳細(xì)介紹如何在 Python 中以表格格式打印列表,以便更好地展示和呈現(xiàn)數(shù)據(jù),文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • Python正則抓取網(wǎng)易新聞的方法示例

    Python正則抓取網(wǎng)易新聞的方法示例

    這篇文章主要介紹了Python正則抓取網(wǎng)易新聞的方法,結(jié)合實例形式較為詳細(xì)的分析了Python使用正則進(jìn)行網(wǎng)易新聞抓取操作的相關(guān)實現(xiàn)技巧與注意事項,需要的朋友可以參考下
    2017-04-04
  • python3實現(xiàn)將json對象存入Redis以及數(shù)據(jù)的導(dǎo)入導(dǎo)出

    python3實現(xiàn)將json對象存入Redis以及數(shù)據(jù)的導(dǎo)入導(dǎo)出

    這篇文章主要介紹了python3實現(xiàn)將json對象存入Redis以及數(shù)據(jù)的導(dǎo)入導(dǎo)出,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • VSCODE配置Markdown及Markdown基礎(chǔ)語法詳解

    VSCODE配置Markdown及Markdown基礎(chǔ)語法詳解

    這篇文章主要介紹了VSCODE配置Markdown及Markdown基礎(chǔ)語法詳解,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01
  • PyautoGui常用教程(一篇掌握)

    PyautoGui常用教程(一篇掌握)

    這篇文章主要介紹了PyautoGui常用教程(一篇掌握),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04

最新評論

梓潼县| 黄浦区| 华蓥市| 嘉禾县| 鄂托克前旗| 开鲁县| 孝感市| 唐山市| 临漳县| 汨罗市| 福建省| 行唐县| 古蔺县| 望谟县| 沅江市| 额尔古纳市| 澄城县| 凉城县| 乌兰浩特市| 镇巴县| 尉氏县| 武穴市| 循化| 如皋市| 凉城县| 钟山县| 鄂尔多斯市| 米泉市| 怀集县| 郧西县| 三河市| 云梦县| 靖边县| 常熟市| 桐城市| 洛南县| 黄山市| 利川市| 屯门区| 新郑市| 西安市|