封裝:1,廣義的封裝:
給物件封裝屬性,給類中封裝靜態字段:
2,狹義的封裝: 私有制.私有成員:
私有成員:
靜態私有字段,靜態私有方法,靜態私有物件屬性.
只能在自己類中訪問,不能再類的外部,或者派生類中訪問.
# 私有靜態字段
classb:
__money = 100000
class
a(b):
name = '
alex
'__age = 1000
deffunc(self):
print(self.__age
)
print(a.__age) #
對於私有靜態字段,類的內部可以訪問.
print('
func....')
deffunc1(self):
print(self.__money
)
print(a.__money
)a1 =a()
(a1.name)
(a.name)
#print(a1.__age) # 例項化物件不能訪問私有靜態字段
#print(a.__age) # 類名不能訪問私有靜態字段
# 對於私有靜態字段,類的外部不能訪問.
# print(a1.__age) # 例項化物件不能訪問私有靜態字段# print(a.__age # 類名不能訪問私有靜態字段
# 對於私有靜態字段,類的內部可以訪問.#a.func()
# 對於私有靜態字段來說,只能在本類中內部訪問,類的外部,派生類均不可訪問.
#a.func1()
# 可以訪問,但是工作中千萬不要用.
# print(a._a__age)
# print(a.__dict__)
# 私有方法
classb:
__money = 100000
def__f1
(self):
print('b'
)class
a(b):
name = '
alex
'def
__func
(self):
print('
func....')
deffunc1(self):
#self.__func() # 類的內部可以訪問
self.__f1
()a1 =a()
a1.__func() #
類外部不能訪問
a1.func1() #
類的內部可以訪問
a1.func1() #
類的派生類也不能訪問.
# 面試題
classparent:
def__func
(self):
print('
in parent func')
def__init__
(self):
self.
__func
()class
son(parent):
def__func
(self):
print('
in son func')
son1 =son()
in parent func
物件導向三大特性 封裝
封裝 a.什麼是封裝?封裝就是把每個物件的資料 屬性 和操作 行為 包裝在乙個類中。即可以被認為是乙個保護屏障,防止該類的 和資料被外部類定義的 隨機訪問。b.封裝的設計思想提 供對外的訪問介面,隱藏內部的實現方式 c.封裝的基本原則 1 類一般是public 2 屬性一般是private 3 構造...
物件導向的三大特性 封裝
封裝即隱藏細節,將功能的實現看成是乙個整體,使開發人員更專注與業務的編寫,類封裝了屬性和方法,方法封裝了業務功能 屬性的封裝為了避免非法資料的寫入,並防止外部的直接訪問 對屬性私有化 private 為屬性提供getter或者setter方法 按照set get屬性名起方法名 對使用者類進行封裝 p...
Python 物件導向三大特性 封裝
封裝,顧名思義就是將內容封裝到某個地方,以後再去呼叫被封裝在某處的內容。封裝重點 1.def init self 構造方法 雖然它是函式形式,但在類中就不叫函式了 叫方法 2.value 私有 隱藏 屬性,只能在類中被呼叫。3.def func self 私有 隱藏 方法,只能在類中被呼叫。示例1 ...