Python-類的私有成員


1.鴨子類型:編程思想

一只鳥,長得像鴨子就是鴨子,叫聲像鴨子就是鴨子,走起來像鴨子就是鴨子

歸一化,統一接口

2.類的約束:控制子類定義一些方法

  • 方法一:推薦使用

    raise:主動拋出異常

  • 方法二:

    from abc iport ABCMeta,abstractmethod

    抽象類,接口類:指定一些規則

3.super

按照mro的查找順序進行查找

super(類名,self)從當前mro中查找類名的下一個類

super時按照mro的順序進行繼承

4.類的私有成員

以__開頭的變量就是私有的

_desires = "有欲望" (程序員之間預定俗稱)類私有的屬性

私有屬性和方法在當前類中可以查看及使用

子類不能繼承父類的私有方法和屬性

私有的目的就是保護數據的安全性

強制查看私有方法或屬性:(但是非常不推薦使用)

_類名私有變量名

_類名私有方法名

class Human:
   live = '有理想'  # 類共有的屬性
   __desires = '有欲望'  # (程序級別)類私有的屬性
   _desires = '有欲望'  # (程序員之間約定俗稱)類私有的屬性
   def __init__(self,name,age,sex,hobby):
       self.name = name
       self.age = age
       self.sex = sex  # 對象的共有的屬性
       self.__hobby = hobby  # 對象的私有屬性
   def func(self):
       # 類內部可以查看對象的私有屬性
       print(self.__hobby)
   def foo(self):
       # 類內部可以查看類的私有屬性
       print(self.__desires)
   def __abc(self):  # 私有方法 只有內部可以使用
       print('is abc')
obj = Human('beauty',28,'man','woman')
print(obj.name)
print(Human.live)
Huamn.live = '無腦'
print(Human.live)
obj.__abc()   # 會報錯 因為外部不可以調用類的私有方法
print(Human.__desires)

 

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM