日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無先后,達(dá)者為師

網(wǎng)站首頁 編程語言 正文

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

作者:howard2005?? ? 更新時間: 2022-04-08 編程語言

一、類的封裝

為什么需要封裝:

  • 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é)果:

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

原文鏈接:https://howard2005.blog.csdn.net/article/details/122698981

欄目分類
最近更新