物件導向的三大特性 封裝

2022-08-22 09:54:11 字數 2212 閱讀 8468

封裝:

1,廣義的封裝:

給物件封裝屬性,給類中封裝靜態字段:

2,狹義的封裝: 私有制.私有成員:

私有成員:

靜態私有字段,靜態私有方法,靜態私有物件屬性.

只能在自己類中訪問,不能再類的外部,或者派生類中訪問.

# 私有靜態字段

class

b:

__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()

print

(a1.name)

print

(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__)

# 私有方法

class

b:

__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() #

類的派生類也不能訪問.

# 面試題

class

parent:

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 ...