php構造方法與析構方法

2022-06-08 22:26:18 字數 1465 閱讀 8288

php中

「方法」也叫做「函式」

「訪問」也叫做「呼叫」

構造方法也稱之為「構造函」

構析方法也稱之為「構析函式」

<?php

header("content-type:text/html;charset=utf-8");

class girl1

}class girl2

}$g1 = new girl1(); //例項化類,呼叫無引數的構造方法

$g2 = new girl2('沫沫'); //例項化類,呼叫帶有引數的構造方法

?>

如果類中沒有定義構造方法,php引擎會自動給類新增乙個構造方法,其引數列表為空,方法內容也為空。

析構方法在類的例項化被銷毀時自動呼叫,且沒有引數。

function __destruct()
在子類中呼叫父類的構造方法和析構方法,需要按如下語法格式顯式呼叫:

//----------顯式呼叫父類的構造方法----------

function __construct()

//---------顯式呼叫父類的析構方法--------------

function __destruct()

之所以被稱為「顯式」,是因為若子類中沒有定義構造方法和析構方法,當子類的例項化物件銷毀時父類的構造方法和析構方法會被自動呼叫;而在子類中定義了構造方法和析構方法時,父類的構造方法和析構方法不會被自動呼叫,所以需要明確的提出需要呼叫父類的構造方法和析構方法。

(也可以看作子類沒有定義構造方法和析構方法時,會自動呼叫父類的構造方法和析構方法,可以省略呼叫的語句。)

<?php

header("content-type:text/html;charset=utf-8");

echo '

------顯式呼叫父類的構造方法和析構方法------

'; /*

父類*/

class people

public function introduce()

//父類的析構方法

function __destruct()}/*

子類*/

class student extends people

public function getschool()

function __destruct()

}$s = new student('沫沫',20,'廬山皇家學院'); //例項化子類

echo '本府行不更名坐不改姓,'.$s->name.'是也!

'; //呼叫繼承自父類的屬性

$s->introduce(); //呼叫繼承自父類的方法

$s->getschool(); //呼叫子類的方法

//$s被銷毀,預設呼叫子類的析構方法

?>

PHP 構造方法和析構方法

構造方法 class text 在例項化類的同時自動呼叫構造方法 常用於屬性的初始化 ming new text hong new text 小李 大黃 構造方法 例項化時賦值 執行結果 小明小紅小李大黃 class text public function get name public func...

php物件導向的構造方法與析構方法

構造方法與析構方法是物件中的兩個特殊方法,即物件的生命週期。構造方法 物件建立完成後第乙個被物件自動呼叫的方法。析構方法 物件在銷毀之前最後乙個被物件自動呼叫的方法。所以通常使用構造方法完成物件的初始化工作,使用析構方法完成物件在銷毀前的清理工作。構造方法 乙個類只能有乙個構造方法!構造方法沒有返回...

構造方法,析構函式

建構函式 作用 為類的成員賦初始值。建構函式的宣告定義 修飾符 所在類的類名 可以帶引數 含引數的話,就賦值把。析構函式 現在幾乎不用這種方法了,幾乎被.net世界所遺忘。作用 在物件釋放的時候呼叫,用來 資源 析構函式的宣告定義 建構函式名或類名 一樣 內容 namespace 構造方法與析構函式...