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類上,而非類的實例。
類的基本定義未整理完成,下一篇繼續整理