PHP學習筆記3 過載

2021-09-29 06:41:37 字數 2247 閱讀 1175

方法過載

使用魔術方法

描述:讀取不可訪問屬性的值時,__get()會被呼叫。

語法:public mixed__get(string name)

例子**:

<?php

class

student

}//建立學生類物件

$obj

=new

student()

;//訪問私有屬性

echo

"的年齡是

歲。";

描述:再給不可訪問屬性賦值時,__set()會被呼叫。

語法:public void__set(string $name,mixed $value)

例子**:

//當給不可訪問屬性賦值時,__set()方法會自動呼叫

public

function

__set($n

,$v)

//修改私有屬性

$obj

->

name

="李四"

;$obj

->

age=

20;

描述:在給不可訪問屬性呼叫isset()或empty()時,__isset()會被呼叫。

語法:public bool __isset(string $name)

例子**:

//當對不可訪問屬性應用isset()或empty()時。__isset()會自動呼叫

public

function

__isset($n

)

//判斷私有屬性是否存在if(

isset

($obj

->

name))

else

描述:當對不可訪問屬性呼叫unset時,__unset()會自動呼叫。

語法:public void__unset(string $name)

例子**:

//當對私有屬性呼叫unset時,__unset()會自動呼叫

public

function

__unset($n

)

//刪除物件屬性

unset

($obj

->

name

);

使用魔術方法

描述:在物件呼叫乙個不可訪問方法時,__call()會被呼叫。

語法:public mixed__call(string $name,array $arguments)

**例子:

//當訪問乙個不存在或不可訪問方法時,__call()會被呼叫

//引數:$func是傳遞過來的方法名稱,$args是傳遞過來的引數陣列

public

function

__call

($func

,$args)("

.implode

(','

,$args).

")不存在或不可訪問!"

;}

//呼叫乙個不存在的方法

$obj

->

showinfo

("張三",21

);

描述:用靜態方法呼叫乙個不可訪問方法時,__callstatic()會被呼叫。

語法:public static mixed __callstatic (string $name,array $arguments)

**例子:

//用靜態方法呼叫乙個不存在或不可訪問方法時,__callstatic()會被呼叫

//引數:$func是傳遞過來的方法名稱,$args是傳遞過來的引數陣列

public

static

function

__callstatic

($func

,$args)("

.implode

(','

,$args).

")不存在或不可訪問!"

;}

//用靜態化方式呼叫showinfo方法

student:

:showinfo()

;

c 學習筆記3 過載

c 允許在同一作用域中的某個函式和運算子指定多個定義,分別稱為函式過載和運算子過載。過載宣告是指乙個與之前已經在該作用域內宣告過的函式或方法具有相同名稱的宣告,但是它們的引數列表和定義 實現 不相同。當您呼叫乙個過載函式或過載運算子時,編譯器通過把您所使用的引數型別與定義中的引數型別進行比較,決定選...

python boost學習筆記8,過載函式

這裡學習了 過載使用類似於函式指標的概念,讓python在呼叫的時候知道應該呼叫哪乙個函式 void example d1 example doit std string example d2 unsigned int example doit void example d3 std string ...

php物件導向 07過載

1 動態地 建立 類的屬性和方法。2 通過魔術方法實現。3 當呼叫當前環境下未定義或不可見的類的屬性或方法時,過載方法會被呼叫。set 賦值 get 讀取 isset 判斷是否存在 unset 銷毀 例子 屬性的過載 class person else public function set n,v...