php--面向?qū)ο?/h1>

function __set(){}
function __get(){}
function __construct(){}
function __destruct(){}
public公有的屬性和方法可以在類或子類的內(nèi)部和外部進(jìn)行訪問
protected屬性和方法只能在類或子類的內(nèi)部進(jìn)行訪問,但可以自己定義公共方法
private屬性和方法只能在類的內(nèi)部進(jìn)行訪問,但可以自己定義公共方法
析構(gòu)函數(shù)却邓,在程序執(zhí)行結(jié)束的時(shí)候自動(dòng)調(diào)用灾锯。
通過把變量設(shè)置為null,并且無其他的對(duì)象引用 就可以觸發(fā)析構(gòu)函數(shù)的調(diào)用谅辣。
當(dāng)對(duì)象不會(huì)再被使用的時(shí)候短纵,會(huì)觸發(fā)析構(gòu)函數(shù)杈帐。
析構(gòu)函數(shù)通常被用于清理程序使用的資源。比如程序使用了打印機(jī)悟泵,那么可以在析構(gòu)函數(shù)里面釋放打印機(jī)資源杈笔。
構(gòu)造函數(shù)執(zhí)行順序是從上而下。
析構(gòu)函數(shù)執(zhí)行順序是從下而上糕非。
$james = new NbaPlayer('James');
$james1=$james;
$james2=&$james;
$james=null;//等同于$james2=null
$james1=null;

//$james $james1同時(shí)為null 觸發(fā)析構(gòu)函數(shù)蒙具,缺一個(gè)都不觸發(fā)

1.parent關(guān)鍵字可以用于調(diào)用父類中被子類重寫了的方法
2.self關(guān)鍵字可以用于訪問類自身的成員方法球榆,也可以用于訪問自身
的靜態(tài)成員和類常量,不能用于訪問類自身的屬性禁筏,使用常量的時(shí)候不需要
在常量名稱前面加$符號(hào)
3.static關(guān)鍵字用于訪問類自身定義的靜態(tài)成員持钉,訪問靜態(tài)屬性時(shí)需要在
屬性前面添加$符號(hào)
//繼承:當(dāng)子類被實(shí)例化時(shí),php會(huì)先在子類中查找構(gòu)造方法篱昔,如果子類有自己的構(gòu)造方法
php會(huì)先調(diào)用子類中的方法每强,當(dāng)子類中沒有時(shí),php則去調(diào)用父類中的構(gòu)造方法州刽。析構(gòu)方法同樣也是
繼承關(guān)鍵字 extends
//多態(tài):覆蓋和重載
覆蓋就是在子類中重寫父類的方法空执,而在子類的對(duì)象中雖然調(diào)用的是父類中相同的方法
,但返回的結(jié)果是不同的穗椅。相同的一行代碼辨绊,對(duì)于傳入不同的接口的實(shí)現(xiàn)的對(duì)象時(shí),表現(xiàn)是
不同的匹表。
重載门坷,一個(gè)標(biāo)識(shí)符被用作多個(gè)函數(shù)名,且能夠通過函數(shù)的參數(shù)個(gè)數(shù)或參數(shù)類型來區(qū)分

get_class();返回對(duì)象所屬類的名字 如果不是對(duì)象袍镀,則返回false

關(guān)鍵字::變量名/常量名/方法名
parent::可以調(diào)用父類中的成員變量默蚌,成員方法和常量
self::可以調(diào)用當(dāng)前類中的靜態(tài)成員和常量
類名::可以調(diào)用本類中的變量,方法和常量

final class name(){} 該類不可以再被繼承 也不能有子類
final function name(){} 該方法不可以進(jìn)行重寫或覆蓋流椒,但是能被子類調(diào)用

抽象類是一種不能被實(shí)例化的類敏簿,只能作為其他類的父類來使用。
abstract class name{
abstract function name();
}
*屬性不能被定義為 final宣虾,只有類和方法才能被定義為 final惯裕。

抽象方法沒有方法體,其功能的實(shí)現(xiàn)在子類中.
抽象類可以是個(gè)空類绣硝,也就是不一定需要有抽象方法蜻势。但抽象方法只能存在抽象類中。
抽象類中可以包含普通的方法鹉胖,有方法的具體實(shí)現(xiàn)
繼承抽象類的關(guān)鍵字是extends,需要實(shí)現(xiàn)抽象類中定義的抽象方法

php只支持單繼承握玛,要實(shí)現(xiàn)多繼承,要使用接口甫菠。
接口類通過interface關(guān)鍵字來聲明挠铲,并且類中只能包含未實(shí)現(xiàn)的方法和一些成員變量,繼承別的接口時(shí)用關(guān)鍵字extends。
不能實(shí)例化接口
interface interfaceName{
public $a;
function method1();//未實(shí)現(xiàn)的方法 沒有方法體
function method2();
}
子類通過implements關(guān)鍵字來實(shí)現(xiàn)接口寂诱,如果要實(shí)現(xiàn)多個(gè)接口拂苹,每個(gè)接口用','分割,
而且接口類中所有未實(shí)現(xiàn)的方法需要在子類中全部實(shí)現(xiàn)痰洒。
class subclass implements interfaceName1,interfaceName2{
function method1(){}
function method2(){}
}
if(objectname instanceof interfacename){}
可以用instanceof關(guān)鍵字來判斷某個(gè)對(duì)象是否實(shí)現(xiàn)了某個(gè)接口
if(objectname instanceof classname){} 也可以檢測(cè)某個(gè)對(duì)象是否屬于哪個(gè)類

如果構(gòu)造函數(shù)定義成了私有方法瓢棒,則不允許直接實(shí)例化對(duì)象了浴韭,這時(shí)候一般通過靜態(tài)方法進(jìn)行實(shí)例化,
在設(shè)計(jì)模式中會(huì)經(jīng)常使用這樣的方法來控制對(duì)象的創(chuàng)建脯宿,比如單例模式只允許有一個(gè)全局唯一的對(duì)象念颈。

class Car {
private function __construct() { //私有構(gòu)造方法
echo 'object create';
}

private static $_object = null;
public static function getInstance() {
    if (empty(self::$_object)) {
        self::$_object = new Car(); //內(nèi)部方法可以調(diào)用私有方法,因此這里可以創(chuàng)建對(duì)象
    }
    return self::$_object;
}

}
//$car = new Car(); //這里不允許直接實(shí)例化對(duì)象
$car = Car::getInstance(); //通過靜態(tài)方法來獲得一個(gè)實(shí)例

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者

  • 序言:七十年代末连霉,一起剝皮案震驚了整個(gè)濱河市榴芳,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌窘面,老刑警劉巖翠语,帶你破解...
    沈念sama閱讀 210,914評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異财边,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)点骑,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,935評(píng)論 2 383
  • 文/潘曉璐 我一進(jìn)店門酣难,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人黑滴,你說我怎么就攤上這事憨募。” “怎么了袁辈?”我有些...
    開封第一講書人閱讀 156,531評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵菜谣,是天一觀的道長。 經(jīng)常有香客問我晚缩,道長尾膊,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,309評(píng)論 1 282
  • 正文 為了忘掉前任荞彼,我火速辦了婚禮冈敛,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘鸣皂。我一直安慰自己抓谴,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,381評(píng)論 5 384
  • 文/花漫 我一把揭開白布寞缝。 她就那樣靜靜地躺著癌压,像睡著了一般。 火紅的嫁衣襯著肌膚如雪荆陆。 梳的紋絲不亂的頭發(fā)上滩届,一...
    開封第一講書人閱讀 49,730評(píng)論 1 289
  • 那天,我揣著相機(jī)與錄音慎宾,去河邊找鬼丐吓。 笑死浅悉,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的券犁。 我是一名探鬼主播术健,決...
    沈念sama閱讀 38,882評(píng)論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼粘衬!你這毒婦竟也來了荞估?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,643評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤稚新,失蹤者是張志新(化名)和其女友劉穎勘伺,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體褂删,經(jīng)...
    沈念sama閱讀 44,095評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡飞醉,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,448評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了屯阀。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片缅帘。...
    茶點(diǎn)故事閱讀 38,566評(píng)論 1 339
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖难衰,靈堂內(nèi)的尸體忽然破棺而出钦无,到底是詐尸還是另有隱情,我是刑警寧澤盖袭,帶...
    沈念sama閱讀 34,253評(píng)論 4 328
  • 正文 年R本政府宣布失暂,位于F島的核電站,受9級(jí)特大地震影響鳄虱,放射性物質(zhì)發(fā)生泄漏弟塞。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,829評(píng)論 3 312
  • 文/蒙蒙 一醇蝴、第九天 我趴在偏房一處隱蔽的房頂上張望宣肚。 院中可真熱鬧,春花似錦悠栓、人聲如沸霉涨。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,715評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽笙瑟。三九已至,卻和暖如春癞志,著一層夾襖步出監(jiān)牢的瞬間往枷,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,945評(píng)論 1 264
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留错洁,地道東北人秉宿。 一個(gè)月前我還...
    沈念sama閱讀 46,248評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像屯碴,于是被迫代替她去往敵國和親描睦。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,440評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容