您現在所在的位置:首頁 >學習資源 > Python全棧+人工智能入門教材 > Python基礎入門教程24:企業級開發基礎5:面向對象特征(封裝

Python基礎入門教程24:企業級開發基礎5:面向對象特征(封裝

來源:奇酷教育 發表于:

面向對象程序設計最主要的有三個特征:封裝、繼承、多態本節內容主要講解面向對象的第一個特征:封裝1 封裝的意義在我們程序開發過程中,

面向對象程序設計最主要的有三個特征:封裝、繼承、多態
 
本節內容主要講解面向對象的第一個特征:封裝
 
1 封裝的意義
 
在我們程序開發過程中,定義好類型之后就可以通過類型來創建對象
如:我們定義一個中華人民共和國公民的類型

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




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



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

>>>更多VR/AR入門教程:VR入門
主站蜘蛛池模板: 中文网丁香综合网| 伊人久久大香线蕉综合网站| 色综合久久天天综合| 久久综合久久综合九色| 国产成人AV综合久久| 日韩欧美亚洲综合久久影院Ds| 色综合婷婷在线| 狠狠色噜狠狠狠狠色综合久| 国产成人综合久久久久久 | 狠狠色噜噜狠狠狠狠色综合久AV| 国产综合无码一区二区三区| 浪潮AV色综合久久天堂| 色婷婷综合和线在线| 狠狠色丁香久久综合五月| 狠狠色综合日日| 欧美日韩国产综合视频在线观看| 国产91色综合久久免费| 欧美综合自拍亚洲综合图| 91在线亚洲综合在线| 大香网伊人久久综合网2020| 狠狠色综合网站久久久久久久| 观看 国产综合久久久久鬼色 欧美 亚洲 一区二区 | 亚洲国产综合精品中文第一| 欧美成人综合视频| 91精品国产综合久久婷婷| 狠狠做深爱婷婷综合一区| 亚洲av日韩综合一区在线观看| 日韩欧美在线综合网另类| 伊人久久综合热线大杳蕉下载 | 国产成人亚洲综合色影视| 亚洲va欧美va天堂v国产综合| 久久综合国产乱子伦精品免费| 色综合久久天天综合| 国产精品亚洲综合专区片高清久久久 | 伊人色综合一区二区三区| 日韩亚洲国产综合久久久| 国产天天综合永久精品日| 亚洲精品国产第一综合99久久| 欧美日韩国产综合草草| 区二区三区激情综合| 亚洲色欲久久久综合网|