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

欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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中格式化字符串的四種實現(xiàn)

    Python中格式化字符串的四種實現(xiàn)

    這篇文章主要介紹了Python中格式化字符串的四種實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • Python 共享變量加鎖、釋放詳解

    Python 共享變量加鎖、釋放詳解

    這篇文章主要介紹了Python 共享變量加鎖、釋放詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-08-08
  • 詳解python 3.6 安裝json 模塊(simplejson)

    詳解python 3.6 安裝json 模塊(simplejson)

    這篇文章主要介紹了python 3.6 安裝json 模塊(simplejson),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • filter使用python3代碼進(jìn)行迭代元素的實例詳解

    filter使用python3代碼進(jìn)行迭代元素的實例詳解

    在本篇文章里小編給大家整理了關(guān)于filter使用python3代碼進(jìn)行迭代元素的實例詳解內(nèi)容,有興趣的朋友們可以參考下。
    2020-12-12
  • 使用FFmpeg來無損壓縮視頻文件的操作方法

    使用FFmpeg來無損壓縮視頻文件的操作方法

    FFmpeg是業(yè)內(nèi)有名的開源圖像視頻處理程序,在許多視頻剪輯軟件、圖像處理軟件中,都使用的FFmpeg,還有比如OBS這樣的導(dǎo)播軟件里面也使用了FFmpeg,FFmpeg的功能十分強(qiáng)大,遠(yuǎn)不止視頻壓縮的功能,本文介紹使用FFmpeg來無損壓縮視頻文件的操作方法,感興趣的朋友一起看看吧
    2023-12-12
  • python json load json 數(shù)據(jù)后出現(xiàn)亂序的解決方案

    python json load json 數(shù)據(jù)后出現(xiàn)亂序的解決方案

    今天小編就為大家分享一篇python json load json 數(shù)據(jù)后出現(xiàn)亂序的解決方案,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • Python遠(yuǎn)程開發(fā)環(huán)境部署與調(diào)試過程圖解

    Python遠(yuǎn)程開發(fā)環(huán)境部署與調(diào)試過程圖解

    這篇文章主要介紹了Python遠(yuǎn)程開發(fā)環(huán)境部署與調(diào)試過程圖解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-12-12
  • Python開發(fā)桌面小程序功能

    Python開發(fā)桌面小程序功能

    這篇文章主要介紹了Python開發(fā)一個桌面小程序功能,開發(fā)環(huán)境界面設(shè)置,功能介紹結(jié)合示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-04-04
  • Python字典及字典基本操作方法詳解

    Python字典及字典基本操作方法詳解

    這篇文章主要介紹了Python字典及字典基本操作方法,結(jié)合實例形式詳細(xì)分析了Python字典的概念、創(chuàng)建、格式化及常用操作方法與相關(guān)注意事項,需要的朋友可以參考下
    2018-01-01
  • Python中的字符串查找操作方法總結(jié)

    Python中的字符串查找操作方法總結(jié)

    這里我們來整理一下Python中的字符串查找操作方法總結(jié),除了基本的find()方法外,還會講解到樸素匹配算法和KMP算法的使用:
    2016-06-06

最新評論