導航:首頁 > 編程語言 > php有沒有構造函數

php有沒有構造函數

發布時間:2022-12-25 23:21:27

1. php中面向對象中的構造函數的作用是什麼,為什麼需要它。

構造函數就是在實例化類的時候就被運行的函數,可以有參數,也可以沒有參數。構造函數主要用來在創建對象時初始化對象 即為對象成員變數賦初始值,比如說你的MyPc類,定義了$name,那麼如果沒有構造函數你在初始化MyPc類的時候$name的值就是空的,你可以定義一個構造函數來給$name一個值,因為很多時候我們並不允許某些對象變數的值是空的

2. 究竟PHP的構造函數有什麼用途

就是在你用new創建那個class的時候,class里的構造函數就自動執行了,不需要你再去調用
用途一般是做配置類初始化信息,比如加個類全局變數什麼的

3. php構造函數

類中有函數和變數。
類中定義的變數叫做屬性,
類中的函數叫做方法。
$this是指類本身,
$this->base()
指調用當前類中的base()方法。
構造函數可有可無。先可以不考慮構造函數的功能。
構造函數只是創建類的實例的時候自動被調用。其他地方也跟普通函數一樣。
類中與類名同名的函數成為構造函數。
等你寫多代碼以後自然而然的想寫構造函數了。那時候肯定會理解構造函數的用處。

4. php 構造函數

參數沒有值 你可以在構造函數中參數寫一個默認空值 比如 function __construct($a=''){..}

5. php5的構造函數和析構函數有哪些

構造函數:void __construct ([ mixed $args [, $... ]] )
PHP5允許開發人員為類定義構造函數。包含構造函數的類在創建實例時將自動調用其構造函數,所以構造函數適合完成初始化對象的操作。
注意:如果子類定義了構造函數,那麼父類的構造函數將不會被自動的隱式的調用。如果需要運行父類的構造函數,需要執行parent::__construct()。如果子類沒有顯式的定義構造函數,那麼子類將繼承父類的構造函數,並直接運行。 析構函數:
PHP5引入了析構函數的概念,類似於C++等面向對象語言中的析構函數的概念。析構函數在類實例的引用失效時、對象被銷毀、超出作用域、以及任意關閉序列時,將被調用。 注意:類似構造函數,當子類定義了自己的析構函數,需要使用parent::__destruct()來調用父類的析構函數。

6. 請問PHP構造函數的含義

php的兩大oop使用型函數:構造函數(__construct)和析構函數(__destruct );

構造函數:當在某一頁面寫了眾多函數,其中就包括構造函數,當你調用其中任一函數時,都將在調用此函數前先調用構造函數,如:你把鏈接資料庫代碼寫到構造函數裡面,然後在使用增刪改查時,就不用再寫連接s資料庫語句了,因為有構造函數在,你就只用寫增刪改查類sql語句就可以了。
析構函數:和構造函數相反,在同一頁面內,有眾多函數,其中有析構函數,當你調用了某一函數之後,會自動執行析構函數,比如說你的增刪改查用完了,是不是要關閉資料庫連接來釋放內存?析構函數就是這樣用的。

7. php構造函數實例講解

PHP官網定義:
復制代碼
代碼如下:
構造函數是類中的一個特殊函數,當使用
new
操作符創建一個類的實例時,構造函數將會自動調用。當函數與類同名時,這個函數將成為構造函數。如果一個類沒有構造函數,則調用基類的構造函數,如果有的話,則調用自己的構造函數
如a.php一個class
a類:
復制代碼
代碼如下:
<?php
class
a{
function
__construct(){
echo
'class
a';
}
}
b.php有個class
b類繼承a類:
復制代碼
代碼如下:
<?php
include
'a.php';
class
b
extends
a{
function
__construct(){
echo
'666666';
//parent::__construct();
}
function
index(){
echo
'index';
}
}

$test=new
b();
這樣寫的話,b類有自己的構造函數,那麼實例化b類的時候,自動運行構造函數,此時默認不運行父類的構造函數,如果同時要運行父類構造函數,要聲明parent::__construct();
復制代碼
代碼如下:
<?php
include
'a.php';
class
b
extends
a{
function
index(){
echo
'index';
}
}

$test=new
b();
此時b類沒有自己的構造函數,那麼將默認執行父類的構造函數。

8. 誰能用比較通俗的語言解釋一下php類中的構造函數,他的作用以及為什麼會存在

從php5以後的版本,php的類就可以使用魔術方法了。

php規定以兩個下劃線(__)開頭的方法都保留為魔術方法,所以建議大家函數名最好不用__開頭,除非是為了重載已有的魔術方法。

PHP中的魔術方法有 :__construct,__destruct,__get, __set等

__get、__set這兩個方法是為在類和他們的父類中沒有聲明的屬性而設計的。

__get( $property ) 當調用一個未定義的屬性時,此方法會被觸發,傳遞的參數是被訪問的屬性名

__set( $property, $value ) 給一個未定義的屬性賦值時,此方法會被觸發,傳遞的參數是被設置的屬性名和值

這里的沒有聲明包括當使用對象調用時,訪問控制為proteced,private的屬性(即沒有許可權訪問的屬性)。

在php語言中,類構造器有兩種方法,一種是使用__construct,另一種是使用與類同名的方法。

__construct 構造方法,當一個對象創建時調用此方法,相對於PHP4使用此方法的好處是:可以使構造方法有一個獨一無二的名稱,無論它所在的類的名稱是什麼.這樣你在改變類的名稱時,就不需要改變構造方法的名稱。

9. PHP中構造函數與自定義函數區別

構造方法:用戶創建對象時,系統自動調用的方法;
功能:初始化類中必備數據的;
PHP5實現方法:
1)方法名和類名相同的方法
2)PHP中設置的魔術方法(用戶執行了某種操作後,系統自動調用的方法):
__construct();
注意:1】如果沒有定義構造方法,那麼系統會自動的創建一個空魔術構造方法;
2】如果PHP4中的構造方法和PHP5中的構造方法,同時存在,那麼PHP5中的構造方法優先使用;普通的成員方法和構造方法的區別和聯系:
1】普通的方法如果定義的名字和類名相同,那麼就變成構造方法
2】如果構造方法中有參數,那麼參數列表要和創建對象時,類名後的小括弧參數類表完全一樣;
3】普通的方法主要是為了完成某個功能,而構造方法主要是初始化數據
4】普通的方法的可以有返回值,但是構造方法從語法上可以有返回值,但是從意義上不能有返回值;

10. 關於php構造函數

用於類的初始化,在新建一個對象時被立即執行,既

new base();

此時會執行__construct()

$this是指類(實例)自身

閱讀全文

與php有沒有構造函數相關的資料

熱點內容
dvd光碟存儲漢子演算法 瀏覽:757
蘋果郵件無法連接伺服器地址 瀏覽:962
phpffmpeg轉碼 瀏覽:671
長沙好玩的解壓項目 瀏覽:144
專屬學情分析報告是什麼app 瀏覽:564
php工程部署 瀏覽:833
android全屏透明 瀏覽:737
阿里雲伺服器已開通怎麼辦 瀏覽:803
光遇為什麼登錄時伺服器已滿 瀏覽:302
PDF分析 瀏覽:484
h3c光纖全工半全工設置命令 瀏覽:143
公司法pdf下載 瀏覽:381
linuxmarkdown 瀏覽:350
華為手機怎麼多選文件夾 瀏覽:683
如何取消命令方塊指令 瀏覽:349
風翼app為什麼進不去了 瀏覽:778
im4java壓縮圖片 瀏覽:362
數據查詢網站源碼 瀏覽:150
伊克塞爾文檔怎麼進行加密 瀏覽:892
app轉賬是什麼 瀏覽:163