本文目錄一覽:
- 1、PHP中面向對象中的構造函數的作用是什麼,為什麼需要它。
- 2、php中面向對象的構造方法
- 3、PHP面向對象那個繼承是什麼意思而construct這個構造函數是什麼意思 可以舉個例子嗎
- 4、Php面向對象魔術方法有哪些?
- 5、php 有關面向對象繼承構造函數初始化的問題
- 6、php面向對象有什麼用
PHP中面向對象中的構造函數的作用是什麼,為什麼需要它。
構造函數就是在實例化類的時候就被運行的函數,可以有參數,也可以沒有參數。構造函數主要用來在創建對象時初始化對象 即為對象成員變量賦初始值,比如說你的MyPc類,定義了$name,那麼如果沒有構造函數你在初始化MyPc類的時候$name的值就是空的,你可以定義一個構造函數來給$name一個值,因為很多時候我們並不允許某些對象變量的值是空的
php中面向對象的構造方法
什麼叫”是傳遞的時候會自動的分配參數”?編譯器不會聰明到看到一個參數的值是“男”,然後就自動把它分配給sex屬性。它只能很傻地按照順序匹配。
在你的例子中,$weightlifting = new WeightLifting(‘明日’,’185′,’80’,’20’,’男’) 多了一個參數,所以最後一個參數實際上是被忽略掉了,而$weightlifting 的sex的屬性值實際上是”20“。
你可以在父類裡面再加個函數自己輸出試試看 ,
function showStatus(){
echo ‘name is :’.$this-name.’br’;
echo ‘age is :’.$this-age.’br’;
echo ‘avoirdupois is :’.$this-avoirdupois.’br’;
echo ‘sex is :’.$this-sex.’br’;
}
輸出 echo $weightlifting-showStatus();
PHP面向對象那個繼承是什麼意思而construct這個構造函數是什麼意思 可以舉個例子嗎
子類可以繼承父類裡面的方法可以直接調用,construct這個是初始化,每次執行類裡面的方法先要初始化一下在執行你要用的函數,這個裡面就可以寫一些公用的東西
Php面向對象魔術方法有哪些?
這個就有點多了,比如構造方法__construct,析構方法__destruct,克隆方法__clone,__set,__get等
php 有關面向對象繼承構造函數初始化的問題
寫幾點提示供參考:
1、在類的繼承中,擴展或派生出來的類(子類)擁有其基類(父類)的所有變量和函數,並包含所有派生類中定義的部分。
也就說,你上面的在子類里類似
private $debugmessage;
這句代碼其實沒什麼意義。
2、如果你在子類里,又定義了與父類里同名的方法,那麼,父類的方法會被覆蓋,也就是說,你調用的是子類實現的代碼。
3、
this 指向的是當前對象
self 指向當前的類
parent 指向的是父類
php面向對象有什麼用
php程序編寫分總分兩種方式,分別為面向過程和面向對象,用兩者比較你會更容易理解些
以下數據庫操作為例:
面向過程:
$conn = mysql_connect(‘127.0.0.1’, ‘root’, ‘123456’) or die(‘連接不成功!’);
mysql_select_db(‘test’, $conn) or die(‘數據庫不存在!’);
$queryid = mysql_query(“select * from sort”);
while ($rs = mysql_fetch_assoc($queryid)) {
echo $rs[‘name’], ‘br’;
}
過程的代碼給人感覺比較亂,不易管理,以下實現以上代碼一樣的功能,但代碼清楚多了。
面向對象就是把常用的功能封裝為一個類,類由屬性和方法組成:
把以上過程代碼封裝成類,以文件形式保存為db.php
class db {
private $conn; //屬性
private $queryid; //屬性
//構造函數
public function db($host, $dbuser, $dbpasswd, $dbname) {
$this-conn = mysql_connect($host, $dbuser, $dbpasswd) or die(‘連接不成功!’);
mysql_select_db($dbname, $this-conn) or die(‘數據庫不存在!’);
}
//查詢方法
public function query($sql) {
$this-queryid = mysql_query($sql, $this-conn);
}
public function fetch_assoc() {
return mysql_fetch_assoc($this-queryid);
}
}
//在a.php文件中實例化,代碼使用變得簡結和容易理解,代碼的重用性
inclode(‘db.php’);
$db = new db(‘127.0.0.1’, ‘root’, ‘123456’, ‘test’);
$db-query(“select * from sort”);
while ($rs = $db-fetch_assoc()) {
echo $rs[‘name’], ‘br’;
}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/159378.html