1、什麼是構造方法:
構造方法是類中的乙個特殊方法。當使用 new 操作符建立乙個類的例項時,構造方法將會自動呼叫,其名稱
必須是 __construct() 。在乙個類中只能宣告乙個構造方法,而是只有在每次建立物件的時候都會去呼叫一次構造
方法,不能主動的呼叫這個方法,所以通常用它執行一些有用的初始化任務。該方法無返回值。
2、構造方法的常用格式:
建構函式的作用是什麼?為了讓你更好的理解,我舉工廠的例子開始講起:
我們知道,在乙個工廠裡面,要生產同要求的產品,那麼就需要cad模具。如果引申到我們的php中,
我們可以理解為類就是cad模具,決定了產品的形狀;而物件就是產品;要求(長度、寬度、高度、半徑等等指標)
就是類中的類的屬性。
當我們要生產產品,首先我們要根據需求方明確該產品有哪些要求,比如是做一批長方形的產品(產品a,產品b
,產品c),我們的cad模具(類),要求是長、寬、高指標(類屬性)。進而需要的是產品a,b,c,長、寬、高的各項
指標的具體引數(類屬性引數)。
假設你是工廠的技術員,你怎麼操作cad模具呢?
第一種方法:
class長方形產品a模具:
$產品a=new class 長方形產品a();
class 長方形產品b模具:
$產品b=new class 長方形產品b();
class 長方形產品c模具:
$產品b=new class 長方形產品c();
第二種方法:用構造方法就是
class 長方形產品模具類:
例項化各產品物件的時候,我們只需要
$產品a=new class長方形產品cad模具類(1.1m,1.2m,1.5m);
$產品b=new class長方形產品cad模具類(1.4m,1.7m1.8m);
$產品c=new class長方形產品cad模具類(1.1m,1.0m1.9m);
....
如果是生產不規則形狀的產品,那麼技術員要設定的cad模具(類)指標(類屬性)就會很多,如果該批 產品
大小種類
還很多的話(物件很多),需要設定很多的指標引數(類屬性引數),顯而易見後者第二種方法 的
工作效率會高很多。
也就是說構造方法__construct()例項化類物件的時候有很大的優勢,一次建類,多次重複使用。在這裡,
我們也就明白了構造方法的好處是其可以接受引數,例項化物件時,為不同的物件設定不同的屬性初始化值。
3、注意:如果子類不寫建構函式的話,會自動繼承父類的建構函式
如果子類寫建構函式的話,則不會繼承父類的建構函式
父類的建構函式如果是私有的,可以被繼承,但是子類必須有自己的建構函式,並且明確寫出來
php類與建構函式解析
關於類大家都有一定的認識這裡只介紹在php中類值得注意的地方 類的建立 php使用關鍵字class建立乙個類,並且使用一對大括號 如 class name public function rename newn 結尾不打分號。則 n,u為字段 name 為建構函式 construct 也可定義建構函...
PHP 類與建構函式解析
類的建立 php使用關鍵字class建立乙個類,並且使用一對大括號 如 class name public function rename newn 結尾不打分號。則 n,u為字段 name 為建構函式 construct 也可定義建構函式,詳見下文 可以為字段賦值 rename 為方法。欄位與方法...
建構函式 解析建構函式的作用
建構函式 是一種特殊的方法。主要用來在建立物件時初始化物件,即為物件 成員變數 賦初始值,總與new 運算子一起使用在建立物件的語句中。特別的乙個類可以有多個建構函式 可根據其引數個數的不同或引數型別的不同來區分它們 即建構函式的 過載。那麼,為什麼要在建立物件時初始化物件呢?又是如何實現的呢?接下...