封裝
封裝可以分為兩層:
第一層:類就是一個袋子,里面可以放屬性和方法。第二層:類中定義私有的屬性和方法,只有類的內部能夠調用(間接調用),外部無法直接訪問。
在Python中用雙下劃線開頭的方式將屬性和方法隱藏(設置成私有)
這里我們封裝主要指的是第二層封裝。
封裝的意義
封裝數(shù)據(jù)屬性,可以讓我們明確區(qū)分內外,控制外部對私有屬性的操作行為。
小明:“說人話!”
從封裝的角度看,外界是無法直接訪問和操作私有屬性的,所以我們通過一個__str__函數(shù)返回顯示我們的私有屬性。
我們嘗試操作一下私有屬性:
很顯然我們無法直接進行更改,所以我們需要在內部再設立一個方法來間接調用它。
當然,到了這里不出意外是有一點意外的了。有大聰明發(fā)問了:為什么我需要間接調用,我直接person1=('Lynne',18)不就好了嗎?還有,isinstance是什么東西?
我們先解決第一個問題:
是的沒錯,確實可以哈哈哈,但我們還是需要了解一下。
第二個問題:isinstance是一個用于判斷類型的函數(shù),會根據(jù)輸入進行判斷,最后返回一個bool值,True或False。通常用于if條件語句中。
其用法為:
isinstance(變量,類型)
其次,封裝方法可以隔離復雜度。
舉個栗子:假如我們去銀行取款,那么取款的操作大致就包括輸入密碼,輸入取款金額,打印流水,最后退出的四個操作。
但是對于使用者來說,我們只需要讓其知道有取款這一功能即可,所有的方法統(tǒng)一包裝起來,僅向外展示一個包裝好的功能。第一,其余的功能我們可以隱藏起來;第二,隔離了復雜度,同時也提升了安全性。
審核編輯:劉清
-
python
+關注
關注
56文章
4782瀏覽量
84449 -
封裝元件
+關注
關注
1文章
4瀏覽量
6637
發(fā)布評論請先 登錄
相關推薦
評論