Python物件導向程式設計(1)

zhanghuaichao發表於2020-10-12

1.Python中物件導向程式設計

1.1 私有屬性和方法  前面兩個下劃線__

_下劃線代表protected 方法

1.2 普通函式和類方法的區別是,類方法裡必須帶一個預設引數self,可以是其他的寫法,self 代表的是類的例項

1.3 建立類物件,類的名稱 來例項化,並通過 __init__ 方法接收引數,沒有new, __init__相當於C++的建構函式, __del__相當於C++的解構函式

1.4 呼叫類的方法和屬性,用成員運算子.

1.5 類的屬性可以隨時新增,不用在定義類的時候就寫好

1.6 類中的方法有三種,例項方法,靜態方法,類方法,我們只是說明例項方法

1.7 類的繼承 

class 派生類名(基類名)

看下具體程式碼

class   Student:                    

    def __init__(self,name,score):  

        self.__name=name            

        self.__score=score

    def __del__(self):

        del self.__name

        del self.__score

        print 'del is called'

    def GetName(self):              

            return self.__getName() 

    def __getName(self):            

        return self.__name

    def setName(self,name):

        self.__name=name

wc=Student('zhc',100)              

print wc.GetName()                  

wc.setName('gaohaijie')             

print wc.GetName()

wc.age=30

print wc.age

zhc=Student('huaichao',40)

print zhc.age

輸出結果如下:

zhc
gaohaijie
30
Traceback (most recent call last):
  File "d:\py\PucDataService\test.py", line 40, in <module>
    print zhc.age
AttributeError: Student instance has no attribute 'age'
del is called
del is called

注意在類外直接新增屬性,只是會增加例項物件的屬性,不會增加類的屬性

 

相關文章