建構子的作用是什麼?為了讓你更好的理解,我舉工廠的例子開始講起:
推薦教學:#PHP影片教學
我們知道,在一個工廠裡面,要生產同要求的產品,那就需要CAD模具。如果引申到我們的PHP中,我們可以理解為類別就是CAD模具,決定了產品的形狀;而物件就是產品;要求(長度、寬度、高度、半徑等等指標)就是類別中的類別的屬性。
當我們要生產產品,首先我們要根據需求方明確該產品有哪些要求,例如是做一批長方形的產品(產品a,產品b,產品c),我們的CAD模具(類),要求是長、寬、高指標(類屬性)。進而需要的是產品a,b,c,長、寬、高的各項指標的具體參數(類屬性參數)。
假設你是工廠的技術員,你要怎麼操作CAD模具?
第一種方法:
class长方形产品a模具: { private $长=1.1m; private $宽=1.2m; private $高=1.5m; } $产品a=new class 长方形产品a(); class 长方形产品b模具: { private $长=1.4m; private $宽=1.7m; private $高=1.8m; } $产品b=new class 长方形产品b(); class 长方形产品c模具: { private $长=1.0m; private $宽=1.1m; private $高=0.9m; } $产品b=new class 长方形产品c();
第二種方法:用建構方法就是
class 长方形产品模具类: { private $长; private $宽; private $高; public function __construct(参数1, 参数2, 参数3){ $this->长 =参数1; $this->宽 =参数2; $this->高= 参数3; } 实例化各产品对象的时候,我们只需要 $产品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()實例化類別物件的時候有很大的優勢,一次建類,多次重複使用。在這裡,我們也明白了建構方法的好處是其可以接受參數,實例化物件時,為不同的物件設定不同的屬性初始化值。
以上是php建構函式的作用的詳細內容。更多資訊請關注PHP中文網其他相關文章!