類方法 例項方法和靜態方法

2021-09-28 22:25:43 字數 946 閱讀 5006

例項方法、類方法、靜態方法三種方法在記憶體中都屬於類,區別在於呼叫方式不同

例項方法

定義:第乙個引數必須是例項物件,該引數名一般約定為「self」,通過它來傳遞例項的屬性和方法(也可以傳類的屬性和方法);

呼叫:只能由例項物件呼叫。

例項物件可以呼叫例項方法、類方法和靜態方法

類方法

定義:使用裝飾器@classmethod。第乙個引數必須是當前類物件,該引數名一般約定為「cls」,通過它來傳遞類的屬性和方法

(不能傳例項的屬性和方法);

呼叫:例項物件和類物件都可以呼叫。

類物件只能呼叫類方法和靜態方法

靜態方法

定義:使用裝飾器@staticmethod。引數隨意,沒有「self」和「cls」引數,但是方法體中不能使用類或例項的任何屬性和方法;

呼叫:例項物件和類物件都可以呼叫。

class

foo():

def__init__

(self, name)

:"""建構函式,例項化類時自動呼叫"""

self.name = name

deford_func

(self)

:"""定義例項方法,至少有乙個self引數"""

print

('例項方法')

@classmethod

defclass_func

(cls)

:"""定義類方法,至少有乙個cls物件"""

print

('類方法')

@staticmethod

defstatic_fun()

:"""定義靜態方法,無缺省引數"""

print

('靜態方法'

)

例項方法 類方法和靜態方法

1 例項方法,即需要通過建立例項 物件 進行呼叫的方法。下方即為例項方法的例子 class person object def init self self.name zs self.age 10 p person print p.name,p.age 2 類方法,即在定義方法時使用 classme...

類方法 例項方法和靜態方法

objective c中非常重要的語法知識,在此歸納總結一下。類方法,也稱靜態方法,指的是用static關鍵字修飾的方法 此方法屬類本身的方法,不屬於類的某乙個例項 物件 類方法中不可直接使用例項變數。其呼叫方式有三種 可直接呼叫 類名.方法名 物件名.方法名。例項方法指的是不用static關鍵字修...

python例項方法 類方法和靜態方法

class testclassmethod object method method hoho def init self self.name leon def test1 self print test1 print self classmethod def test2 cls print cls...