PHP類中靜態方法與普通方法的互相呼叫

2021-10-23 00:24:00 字數 1645 閱讀 1505

方法一:在靜態方法中使用new animal()例項化animal()類並賦值給$data,再通過$data呼叫其他的普通方法。

class

animal

public

function

say(

)public

function

run()}

// 例項化animal類

$obj

=new

animal()

;// 呼叫類中的靜態方法 類名::方法名

echo

$obj::

info()

;// 輸出結果:我是靜態方法,我可以呼叫類中的普通方法我會說話

方法二:在靜態方法中使用new self()例項化animal()類並賦值給$data,再通過$data呼叫其他的普通方法。

class

animal

public

function

say(

)public

function

run()}

// 例項化animal類

$obj

=new

animal()

;// 呼叫類中的靜態方法 類名::方法名

echo

$obj::

info()

;// 輸出結果:我是靜態方法,我可以呼叫類中的普通方法我會說話

方法一:在普通方法中使用$this呼叫靜態方法

class

animal

public

function

say(

)public

function

run()}

// 例項化animal類

$obj

=new

animal()

;// 呼叫類中的普通方法 類名->方法名

echo

$obj

->

say();

// 輸出結果:我會說話我是靜態方法,我可以呼叫類中的普通方法

方法二:在普通方法中使用self::info()或者animal::info()呼叫靜態方法

class

animal

public

function

say(

)public

function

run()}

// 例項化animal類

$obj

=new

animal()

;// 呼叫類中的普通方法 類名->方法名

echo

$obj

->

say();

// 輸出結果:我會說話我是靜態方法,我可以呼叫類中的普通方法

class

person}$p

=new

person()

;$p::

$age=24

;// 修改靜態屬性值$p-

>

name

='沐水蓮心';$p

->

intro()

;

python中的普通方法 類方法和靜態方法的區別

面試中遇到這個問題,現在來總結一下 普通方法 預設有個self引數,只有類的物件可以呼叫 類方法 需要加上 classmethod裝飾器,預設cls引數,可以被類和物件呼叫 靜態方法 用 staticmethod裝飾器,類的靜態方法沒有引數,可以直接使用類名呼叫 不管是普通方法還是類方法,預設的se...

Python普通方法 靜態方法 類方法

coding utf 8 普通方法,類方法,靜態方法的區別 metaclass type class tst name tst data this is data 普通方法 defnormalmethod self,name print self.data,name 類方法,可以訪問類屬性 clas...

Python普通方法 靜態方法 類方法

普通方法,類方法,靜態方法的區別 metaclass type class tst name tst data this is data 普通方法 def normalmethod self,name print self.data,name 類方法,可以訪問類屬性 classmethod def ...