<?php
class
xunpublic
function
make()
}//例項化物件
$obj
=new
xun;
$obj
->
index()
;$obj
->
make()
;echo
$obj
->
name;(
newxun)-
>
make()
;
<?php
//類裡面有方法與屬性,方法與屬性有如下修飾詞:public,private,protected;
//private私有的屬性所修飾的方法或屬性只能被該類使用,不能被例項化的物件所呼叫;在繼承中不能被繼承的子類所呼叫
//protected受保護的屬性所修飾的方法或屬性只能被該類使用,不能被例項化的物件所呼叫,但在繼承中與private私有的修飾不通,該受保護的屬性可以被繼承的子類所屌用
class
xun}
class
yang
extends
xun}
// //例項化xun
// $obj = new xun;
// $obj->index();
// echo '';
// var_dump($obj->npc);
// var_dump($obj->blsd);
// var_dump($obj->ww);
//例項化yang
$yang
=new
yang
;$yang
->
test()
;
<?php
//php的類的繼承是單繼承,不能進行多繼承;可以通過trait的特殊類實現多繼承
class
xunpublic
function
make()
}class
yang
extends
xun}
//例項化
$obj
=new
yang
;$obj
->
index()
;$obj
->
make()
;
<?php
//trait定義的特殊類可以實現多繼承;但trait不是類,不能被例項化,只能做父類被繼承
// 多繼承的優先順序為子類方法的重寫最優先,
//繼承trait的模擬extends繼承的類優先
// 父類同名可以取別名
traitbo}
trait
npcpublic
function
make()
}classww}
//子類繼承父類
class
nbextends
ww// public function index()
// }
//例項化子類
$obj
=newnb;
$obj
->
index()
;$obj
->
make()
;$obj
->
index2()
;
<?php
//在繼承中防止父類方法被子類重寫可以使用final
class
xun}
class
yang
extends
xun}
$obj
=new
yang
;$obj
->
index()
;
<?php
//定義介面,該介面與抽象類一樣,只是定義方法名稱,不做方法實現,介面可以被多繼承,但抽象類或者是類在php中只能鏈式繼承或者說是單繼承
inte***ce
xuninte***ce
test
class
yang
implements
xun, test
public
function
index()
public
function
make()
}$obj
=new
yang
;// $obj->yang();
<?php
//定義抽象類,有抽象方法的類一定是抽象類,抽象類只定義不實現;當繼承該類時需要例項化該方法;在php中類的繼承是單繼承的不能實現多繼承,介面可以實現多繼承或者說是多實現
abstract
class
xun// $obj = new xun;
// $obj->index();
class
yang
extends
xunpublic
function
make()
}$obj
=new
yang
;$obj
->
make()
;
<?php
//類裡面存在屬性與方法
//定義靜態方法與靜態屬性
class
xun}
//靜態屬性是屬於類的,不能被例項化的物件呼叫;靜態方法裡面不能用this指標,因為靜態方法是類的,呼叫屬性可以使用self
$obj
=new
xun;
$obj
->
index()
;
<?php
//建構函式,當類被例項化的時候自動執行建構函式
class
xunpublic
function
__destruct()
public
function
index()
}$obj
=new
xun;
$obj
->
index()
;
<?php
//析構函式,在例項化的物件銷毀時自動呼叫
class
xunpublic
function
__destruct()
}$obj
=new
xun;
$obj
->
index()
;
<?php
//魔術方法__get;當獲取不存在,私有或者受保護的屬性時自動呼叫
class
xun}
$obj
=new
xun;
$obj
->
xun;
<?php
//魔術方法__set;當設定不存在,私有或者受保護的屬性時自動呼叫
class
xun}
$obj
=new
xun;
$obj
->
xun=
'你好嗎'
;
<?php
//魔術方法__call;當呼叫類裡面不存在的方法或不可訪問方法時自動呼叫;有兩個引數,第乙個為呼叫的方法名,第二個為該方法的實參,以陣列方式呈現
class
xunpublic
function
__call
($name
,$value)}
$obj
=new
xun;
$obj
->
index
('菠蘿賽東'
);
<?php
//__callstatic ,當物件對用該類不可方法的靜態方法是被呼叫
class
xunpublic
function
__callstatic
($name
,$arguments)}
$obj
=new
xun;
$obj
->
index
('啦啦啦啦'
);
php基本物件導向
1 變數的傳值與引用。2 變數的型別轉換和判斷型別方法。3 php運算子優先順序,一般是寫出運算子的運算結果。4 php中函式傳參,閉包,判斷輸出的echo,print是不是函式等。5 php陣列,陣列函式,陣列遍歷,預定義陣列 面試必出 6 php物件導向,魔術方法,封裝 繼承 多型。設計模式,包...
php(物件導向的基本介紹)
物件導向思想介紹 物件導向程式設計。物件導向三大特性 封裝 繼承 多型 類與物件 類 是用於描述 某一些具有共同特徵 的物體的概念,是某一類物體的總稱。物件 是指乙個具體的 物體 該物體隸屬於某個 類別 類 物件建立的基本形式 物件名1 new 類名 物件名就是變數名 類是應該定義過了 類中成員 屬...
物件導向基本
在類中,我們會定義方法 預設我們定義的方法,pycharm都會自動給我們的方法加上乙個self引數,作為第乙個引數 經過了驗證 self這個東西,只能夠在有self引數的方法中使用 無slef的方法,不可以使用self self的記憶體位址,與對向的記憶體位址是一模一樣的 物件可以有的屬性方法操作,...