您現(xiàn)在所在的位置:首頁 >學(xué)習(xí)資源 > Python全棧+人工智能入門教材 > Python基礎(chǔ)入門教程24:企業(yè)級開發(fā)基礎(chǔ)5:面向?qū)ο筇卣鳎ǚ庋b

Python基礎(chǔ)入門教程24:企業(yè)級開發(fā)基礎(chǔ)5:面向?qū)ο筇卣鳎ǚ庋b

來源:奇酷教育 發(fā)表于:

面向?qū)ο蟪绦蛟O(shè)計最主要的有三個特征:封裝、繼承、多態(tài)本節(jié)內(nèi)容主要講解面向?qū)ο蟮牡谝粋€特征:封裝1 封裝的意義在我們程序開發(fā)過程中,

面向?qū)ο蟪绦蛟O(shè)計最主要的有三個特征:封裝、繼承、多態(tài)
 
本節(jié)內(nèi)容主要講解面向?qū)ο蟮牡谝粋€特征:封裝
 
1 封裝的意義
 
在我們程序開發(fā)過程中,定義好類型之后就可以通過類型來創(chuàng)建對象
如:我們定義一個中華人民共和國公民的類型

我們會發(fā)現(xiàn),上面的代碼在運(yùn)行時是正確的,也就是可以修改age屬性為1000
此時我們需要明確一個概念:代碼運(yùn)行正確,但是不代表符合業(yè)務(wù)邏輯,這樣的代碼我們一般會說代碼處理不合法!
2. 實(shí)現(xiàn)封裝的過程
 
對于上面這樣的問題,我們應(yīng)該怎么處理呢
常規(guī)的方案就是:
 
定義一種這樣的屬性,屬性只有在當(dāng)前類的內(nèi)部可以訪問
類的外部不能訪問這個屬性,只能通過類提供的方法來進(jìn)行屬性的取值和賦值
在取值或者賦值的方法中,就可以添加一定的限制處理的代碼了
python中,提供了這樣的一種特殊的變量,變量名稱使用兩個下劃線開頭,這樣的變量智能在類的內(nèi)部訪問,類的外部是訪問不了的,我們稱之為私有屬性




3. 封裝的高級使用方式
 
我們從上面的代碼中已經(jīng)看到了,可以通過函數(shù)操作的形式來進(jìn)行屬性的處理
但是某些情況下,函數(shù)操作的形式并不是特別美妙,我們突發(fā)奇想~想再提供了set/get訪問方法的情況下,對屬性的操作還能像以前那樣直接賦值或者取值進(jìn)行操作



此時,你還能在不看原來類型定義中的get/set,區(qū)分出來name是否是Person類型的屬性還是方法呢?
 
> 封裝的注解方式,在一定程度上,能隱藏我們方法在底層的實(shí)現(xiàn),讓調(diào)用者的操作變得簡單。但是同時也降低了代碼的可讀性,后續(xù)的操作中,我們還是遵循原來封裝的操作方案將類的屬性私有化,提供set/get方法進(jìn)行屬性的操作。

>>>更多VR/AR入門教程:VR入門
主站蜘蛛池模板: 天天综合色天天综合色hd| 色噜噜狠狠狠综合曰曰曰| 国产色综合天天综合网 | 综合久久给合久久狠狠狠97色 | 久久久久一级精品亚洲国产成人综合AV区 | 综合久久给合久久狠狠狠97色| 国产精品九九久久精品女同亚洲欧美日韩综合区| 欧美综合图区亚欧综合图区| 天天综合久久一二三区| 99久久婷婷国产综合精品草原 | 欧美色综合天天综合高清网| 狠狠色伊人亚洲综合成人| 激情综合网五月| 久久婷婷成人综合色综合| 欧美大战日韩91综合一区婷婷久久青草 | 天天做天天爱天天爽综合网| 日韩欧美色综合网站| 亚洲色偷偷综合亚洲AVYP| 亚洲色婷婷综合开心网| 欧美综合图区亚欧综合图区| 国产亚洲综合一区柠檬导航| 色噜噜综合亚洲av中文无码| 亚洲色偷偷狠狠综合网| 亚洲国产成人久久综合野外| 91探花国产综合在线精品| 国产综合成人久久大片91| 色综合天天综合婷婷伊人| 一本色道久久综合| 台湾佬综合娱乐| 97久久婷婷五月综合色d啪蜜芽| 色综合.com| 欧美日韩国产综合视频在线观看| 国产综合无码一区二区三区| 久久久久高潮综合影院| 色天使亚洲综合在线观看| 综合网日日天干夜夜久久| 欧美综合天天夜夜久久| 久久狠狠色狠狠色综合| 久久综合亚洲色一区二区三区| 欧美日韩亚洲综合一区二区三区| 色综合久久综合中文综合网|