Python 面向?qū)ο?封裝

Python面對(duì)對(duì)象封裝

1.1 面向過(guò)程和面向?qū)ο?/b>

根據(jù)操作數(shù)據(jù)的函數(shù)或語(yǔ)句塊來(lái)設(shè)計(jì)程序的過(guò)程,叫做面向過(guò)程編程。

與之相對(duì)應(yīng)的,如果把數(shù)據(jù)和功能結(jié)合起來(lái),用稱為對(duì)象的東西包裹起來(lái),這種組織程序的方法稱為面向?qū)ο蟮木幊獭?/p>

面向?qū)ο蟮木幊桃话阌迷谏晕⒋笮偷捻?xiàng)目或者是要求更加合理的解決方案的場(chǎng)合,相對(duì)與面向過(guò)程的編程有優(yōu)勢(shì)。

1.2 面向?qū)ο蟮奶匦?/b>

面向?qū)ο蟮木幊逃腥齻€(gè)特性:封裝、繼承和多態(tài),這里會(huì)分別作介紹。

1.3 類和對(duì)象

類就是一個(gè)新的、程序員自己根據(jù)需求定義的一個(gè)新的類型,而對(duì)象是這個(gè)類型的一個(gè)實(shí)例。比如說(shuō),定義了一個(gè)新的類型Person,然后用這個(gè)類型定義了一個(gè)變量tom,這里,tom就是一個(gè)對(duì)象,而Person就是一個(gè)類。

2、封裝

面向?qū)ο蟮某绦蛟O(shè)計(jì)中,某個(gè)類把所需要的數(shù)據(jù)(也可以說(shuō)是類的屬性)和對(duì)數(shù)據(jù)的操作(也可以說(shuō)是類的行為)全部都封裝在類中,分別稱為類的成員變量和方法(或成員函數(shù))。這種把成員變量和成員函數(shù)封裝在一起的編程特性稱為封裝。

2.1 類的屬性

類由屬性和方法組成,類的屬性是對(duì)數(shù)據(jù)的封裝,而類的方法是對(duì)類的行為的封裝。

類的屬性按使用范圍分為共有屬性私有屬性。具體地,在Python實(shí)現(xiàn)面向?qū)ο蟮木幊趟枷氲臅r(shí)候,封裝在類中的屬性可以分為兩種:數(shù)據(jù)類的屬性數(shù)據(jù)對(duì)象的屬性(也可以成為數(shù)據(jù)類的成員變量和屬于對(duì)象的成員變量),其中,這兩種成員變量又各自分為共有成員變量和私有成員變量。

2.1.1 類的成員變量和對(duì)象的成員變量

類的成員變量定義在類中,和類的成員函數(shù)在同一縮進(jìn)等級(jí)。而對(duì)象的成員變量定義在init(self)成員函數(shù)中,和init(self)函數(shù)下的變量和語(yǔ)句在同一等級(jí)。

通俗地講,類的成員變量屬于類,共類的所有對(duì)象和類本身所共有,也就是說(shuō)所有的類的對(duì)象和類只有一份這樣的變量。

而對(duì)象的成員變量屬于類的對(duì)象本身,每個(gè)對(duì)象都有一份,而且各個(gè)對(duì)象之間互不影響。

2.1.2 公有成員變量和私有成員變量

python中用成員變量的名字來(lái)區(qū)分是共有成員變量或者是私有成員變量。

python中,以兩個(gè)下劃線‘__’開頭的變量都是私有成員變量,而其余的變量都屬于公有成員變量。

其中,私有的成員變量只能在類的內(nèi)部訪問(wèn),而共有的公有的成員變量可以在類的外部進(jìn)行訪問(wèn)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 面向?qū)ο蟆庋b 一、概述 Python面向?qū)ο蟮娜筇匦裕悍庋b、繼承和多態(tài)。 封裝:在類中對(duì)數(shù)據(jù)的賦值、內(nèi)部調(diào)用...
    冬日里的月光閱讀 299評(píng)論 0 0
  • 國(guó)家電網(wǎng)公司企業(yè)標(biāo)準(zhǔn)(Q/GDW)- 面向?qū)ο蟮挠秒娦畔?shù)據(jù)交換協(xié)議 - 報(bào)批稿:20170802 前言: 排版 ...
    庭說(shuō)閱讀 12,391評(píng)論 6 13
  • 封裝:將一堆零碎的東西封箱裝起來(lái)! 為什么需要封裝?封裝的作用和含義? 比如:①我要看電視,只需要按一下開關(guān)和換臺(tái)...
    云Shen不知處閱讀 358評(píng)論 3 0
  • 昨天朋友圈鋪天蓋地都是各種嗮母親節(jié)快樂(lè),可能朋友中我們這個(gè)年紀(jì)媽媽多。親自下廚做飯給媽媽吃,鮮花速遞,母親的畫像,...
    獅山之兔W閱讀 327評(píng)論 1 1
  • 老鐵,請(qǐng)?jiān)试S對(duì)你這樣的稱呼。聽說(shuō)這種稱呼在東北都是指一起舔過(guò)鐵桿的好朋友之類的人,因?yàn)槟沁吚渎?!很抱歉,我承認(rèn)自己...
    邊走邊滑邊摔倒閱讀 239評(píng)論 0 0

友情鏈接更多精彩內(nèi)容