python基礎-----面向對象編程

class Animal(object):
    mao = 'mao'   #靜態字段   --》》屬於類
    
    #在__init__ 方法中的屬於動態字段  --->>屬於對象  相當於構造函數
    def __init__(self, name, age, sex, feet):
        self.name = name
        self.age = age
        
        #定義一個私有字段
        self.__sex = sex
        
        self.__feet = feet
        
    #動態方法
    def sport_meet(self):
        print self.name + 'run....'
        
    def FwSex(self):
        print "訪問私有字段"+self.__sex
        
    #靜態方法
    @staticmethod
    def Foo():
        print 'fly...'
     
    #把方法訪問的形式變成字段訪問的形式
    @property
    def voice(self):
        print self.name+"voice..."
        
        return 'voice' #用property一般都帶返回值
    
    #定義一個私有方法
    def __PrivateMethod(self):
        print 'privateMethod....'
    
    #本身共有方法,可以訪問私有方法
    def PublicMethod(self):
        self.__PrivateMethod()
    
    @property #只讀
    def Feet(self):
        return self.__feet
    
    @Feet.setter  #只寫
    def Feet(self, feet):
        self.__feet = feet
    
animal = Animal('天氣', 34, '__sex','1111')
# print animal.name
# print Animal.Foo()
# print animal.voice
# 
# # print animal.__sex #訪問報錯(Animal instance has no attribute '__sex')
# print animal.FwSex()
# 
# animal.__PrivateMethod()  #訪問不了私有方法報錯(Animal instance has no attribute '__PrivateMethod')
print animal.Feet
animal.Feet = '12222'
print animal.Feet

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章