#_name,只是約定不讓外部訪問,其實還是可以用._name訪問
#__name,也只是約定並且更改訪問屬性名,其實也還是可以訪問,用_foo__age訪問
#eg:
class
foo:
__age=18
def__init__
(self,name):
self.name=name
f1=foo('
alex')
print(f1.__dict__
)print(foo.__dict__
(f1._foo__age)
#比較嚴謹封裝的方法
class
room:
def__init__
(self,owner,width,length):
self.owner=owner
self.
__width=width
self.
__legth=length
deftell_area(self):
return self.__legth * self.__width
def get_width(self): #
如果封裝的變數後面外部想呼叫則必須寫介面函式
return self.__width
r1=room('
alex
',10,20)
(r1.owner)
(r1.get_width())
print(room.__dict__)
python基礎 day24 物件導向 封裝
1 命名空間 例項變數 2 組合 1 封裝 class a pass class b a pass b繼承a a是父類 基類,超類 b是子類 派生類 print 吃老爸的 def drink self print 喝水 def sleep self print 睡覺 class cat base d...
2 4 類和物件 C 封裝
目錄 一 封裝 1.封裝的意義 2.封裝的語法 3 訪問許可權 4 c 中struct和class的區別 5 成員屬性私有化 二 封裝示例 1.長方體類案例 2.圓與點的位置關係案例 c 物件導向的三大特性 封裝 繼承和多型。封裝是c 三大特性之一,其意義有 語法 class 類名 include ...
python基礎 封裝
class room def init self,name,length,width self.name name self.length length self.width width def get name self return self.name def set name self,new...