python-類定義 基礎之Java對比學習(三)

python,Java都是面嚮對象語言,這裏對比學習一下類的定義:

首先,類其實是自己定義的一種數據類型,或者數據結構,那麼類中可以有描述事物特性的屬性以及描述事物功能的方法,因此一般類的結構如下:

class 類名:

   普通屬性(普通成員變量)

   靜態屬性(靜態成員變量/類屬性)

    構造方法

    普通方法

    靜態方法(類方法)

1、普通屬性,也就是對象的屬性,通過對象調用,python中不需要提前聲明,常見的寫法是在構造方法中直接使用,例如,學生類Student,有普通屬性(姓名,年齡,性別)

     class  Student:

         def __init__(self,name,age,gender):

             self.name = name

             self.age =age

             self.gender = gender

2.靜態屬性,也就是類的屬性,所有對象共有的屬性,只在內存中保存一份,python中是需要聲明的,例如,學生類Student,有共有的屬性,學校名稱

    class Student:

          schoolName = '**University'

          def __init__(self,name,age,gender):

             self.name = name

             self.age =age

             self.gender = gender

3.構造方法,python中定義的格式是固定的:

    class   Demo:

        def    __init__(self,parm1,parm2.,......):

      定義構造方法時,其中  def  __init__(self):是必須寫的,後面的Parm1,parm2是構造方法中需要初始化的成員變量的值。

4.普通方法,python中普通方法定義格式如下:

   class  Demo:

       def   方法名(self,參數列表):

              代碼塊

需要注意的是,類中定義的普通方法必須第一個參數是self,self代表的是實例本身,相當於Java中的this;python中參數列表,不需要寫明參數的類型。

5.類方法,python中類方法定義格式如下:

class Demo:

    @classmethod

   def  方法名(cls):

           代碼塊

需要注意的是:類中定義的類方法第一個參數是cls,cls代表的是類本身,通過標記一個 @classmethod,該方法將綁定到 Demo類上,而非類的實例。

類的基本定義未整理完成,下一篇繼續整理

發佈了29 篇原創文章 · 獲贊 10 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章