国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專(zhuān)欄INFORMATION COLUMN

php面向?qū)ο笤斀?

xingpingz / 2526人閱讀

摘要:前言自從進(jìn)入版本以來(lái),開(kāi)始全面地支持面向?qū)ο缶幊獭:昧耍M(jìn)入正題,面向?qū)ο蟮娜筇匦苑謩e是封裝性,繼承性以及多態(tài)性,使用面向?qū)ο箝_(kāi)發(fā),讓我們的程序可維護(hù)以及擴(kuò)展性大大提高。

前言

自從php進(jìn)入5.0版本以來(lái),PHP開(kāi)始全面地支持面向?qū)ο缶幊獭`牛l(shuí)說(shuō)php很low。我們專(zhuān)注web開(kāi)發(fā)好不好;誰(shuí)說(shuō)php代碼爛,自己水平不行寫(xiě)的代碼當(dāng)然爛了;誰(shuí)說(shuō)php框架不優(yōu)雅的,你用過(guò)laravel嗎。好了,進(jìn)入正題,面向?qū)ο蟮娜筇匦苑謩e是封裝性,繼承性以及多態(tài)性,使用面向?qū)ο箝_(kāi)發(fā),讓我們的程序可維護(hù)以及擴(kuò)展性大大提高。

基本知識(shí)

類(lèi):具有相同屬性或方法的一類(lèi)集合體。比如雪佛蘭汽車(chē)是一個(gè)雪佛蘭汽車(chē)類(lèi),奔馳汽車(chē)是一個(gè)奔馳汽車(chē)類(lèi),寶馬汽車(chē)是一個(gè)寶馬汽車(chē)類(lèi),而這三個(gè)類(lèi)又是汽車(chē)大類(lèi)的子類(lèi)。
對(duì)象:類(lèi)的一個(gè)具體實(shí)現(xiàn),比如寶馬Q5就是寶馬汽車(chē)類(lèi)的一個(gè)具體實(shí)現(xiàn)。對(duì)象地使用是放在內(nèi)存中的。一下讓我們了解一下對(duì)象在內(nèi)存中的分配


使用面向?qū)ο螅褪庆`活地使用以上兩個(gè)知識(shí)點(diǎn)。讓我們來(lái)創(chuàng)建和使用類(lèi)與對(duì)象

a="opt";//將opt對(duì)象中的a屬性賦值為opt
    $opt->funA();//打印出"I am function A"
?>

修飾符:在定義類(lèi)與類(lèi)中的屬性時(shí),我們可以使用如下三個(gè)修飾符,若不加,則默認(rèn)為public
public:權(quán)限最大
protected:權(quán)限范圍在其本身與其子類(lèi)
private:權(quán)限范圍僅在其本身
構(gòu)造函數(shù)與析構(gòu)函數(shù):在我們對(duì)類(lèi)實(shí)例化創(chuàng)建對(duì)象時(shí),往往需要對(duì)對(duì)象進(jìn)行初始化,這時(shí),我們就需要在類(lèi)中定義一個(gè)構(gòu)造方法。當(dāng)我們使用完對(duì)象時(shí),就需要釋放對(duì)象,以減少內(nèi)存的使用,這時(shí)我們就需要使用析構(gòu)方法。
在php中我們使用__construct()方法與__destruct(),如下代碼

a=$a;
            $this->b=$b;
            echo "我是構(gòu)造函數(shù)";
        }
        public function __destruct(){
            echo "我是析構(gòu)函數(shù)";
        }
    }
?>
封裝性

當(dāng)我們開(kāi)發(fā)一些重要的程序模塊時(shí),常常不希望別人能輕易訪(fǎng)問(wèn)這些程序模塊的數(shù)據(jù),因此需要對(duì)這些數(shù)據(jù)進(jìn)行封裝。這時(shí)我們要進(jìn)行數(shù)據(jù)的訪(fǎng)問(wèn)控制,常常使用private關(guān)鍵字來(lái)對(duì)這些屬性與方法進(jìn)行封裝。
如下

這樣,當(dāng)我們創(chuàng)建對(duì)象時(shí)就不能調(diào)用私有的屬性與方法。但是我們可以通過(guò)使用魔術(shù)方法來(lái)對(duì)這些私有屬性與方法進(jìn)行訪(fǎng)問(wèn)。
__set()與__get()的使用
通過(guò)__set()方法我們可以通過(guò)對(duì)象直接設(shè)置成員屬性值
通過(guò)__get()方法我們可以通過(guò)對(duì)象直接獲取成員屬性值

$oldValue=$newvalue;
        }
        public function __get($newvalue){
            return $newvalue;
        }
    }
    $opt= new setClass();
    $opt->a="sss";//直接設(shè)置私有屬性值
    echo $opt->b;//直接讀取私有屬性值
?>

__isset()與__unset()的使用
通過(guò)__isset()直接查看對(duì)象中私有屬性是否存在
通過(guò)__unset()直接刪除對(duì)象中的私有屬性

$b);
    var_dump(unset($opt->$b));
?>
繼承性

當(dāng)我們編寫(xiě)多個(gè)類(lèi)時(shí),常常多個(gè)類(lèi)具有相同的屬性與方法,為了簡(jiǎn)化代碼我們引入了繼承的概念,子類(lèi)可以繼承父類(lèi)的一些屬性與方法,減少了冗余代碼地編寫(xiě)。


如何編寫(xiě)繼承類(lèi)
我們使用關(guān)鍵字extends來(lái)編寫(xiě)子類(lèi)

    

如上,childClass是parentClass的子類(lèi),php僅支持單繼承,即一個(gè)子類(lèi)只有一個(gè)父類(lèi),但父類(lèi)可以有多個(gè)子類(lèi)。

重寫(xiě)父類(lèi)方法
當(dāng)父類(lèi)中的方法不能滿(mǎn)足子類(lèi)的使用時(shí)我們可以重寫(xiě)父類(lèi)方法。但當(dāng)我們又想在子類(lèi)使用父類(lèi)的方法時(shí),我們可以使用如下語(yǔ)法:parent::方法名

幾個(gè)重要的關(guān)鍵字

3.1 final

final可以修飾類(lèi)與方法,不能修飾成員屬性;
被final修飾的類(lèi)不能繼承,而用final修飾的方法在子類(lèi)中不能被重寫(xiě)

3.2 static

static可以修飾成員屬性與成員方法,不能修飾類(lèi);
使用static修飾的成員與方法可以通過(guò)類(lèi)直接使用,使用如下語(yǔ)法:類(lèi)名::$屬性名或方法名();
在類(lèi)中使用時(shí)通過(guò)如下語(yǔ)法:self::$屬性名或方法名.

3.3 const

在類(lèi)中聲明常量使用const,而不是使用define();
比如 const TT=90
當(dāng)使用常量時(shí)直接使用如下語(yǔ)法self::常量名

3.4 instanceof

使用該關(guān)鍵字可以檢測(cè)某個(gè)實(shí)例是否是某個(gè)類(lèi)的實(shí)例。

3.5 trait

php只能進(jìn)行單繼承,但它同時(shí)提供了另類(lèi)方式來(lái)進(jìn)行代碼復(fù)用,解決單繼承問(wèn)題。
如下
```
  
```
抽象技術(shù)

用abstract關(guān)鍵字修飾的方法與類(lèi)稱(chēng)為抽象方法或抽象類(lèi)。
聲明抽象類(lèi)與抽象方法

抽象技術(shù)為子類(lèi)的聲明提供了一種規(guī)范,限制了類(lèi)的實(shí)例化(抽象類(lèi)不能實(shí)例化)。

接口技術(shù)

接口是一種特殊的抽象類(lèi),接口中只能聲明抽象類(lèi)與常量
聲明接口使用interface,實(shí)現(xiàn)接口使用implements,修飾符只能是默認(rèn)的public;
一個(gè)子類(lèi)可以繼承多個(gè)接口,同時(shí)繼承一個(gè)父類(lèi)

多態(tài)

在php中多態(tài)地實(shí)現(xiàn)需要一個(gè)類(lèi)通過(guò)多個(gè)子類(lèi)地繼承實(shí)現(xiàn),如果一個(gè)類(lèi)的方法在多個(gè)子類(lèi)中重寫(xiě)并實(shí)現(xiàn)不同的功能,我們稱(chēng)之為多態(tài)。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/26171.html

相關(guān)文章

  • 區(qū)塊鏈開(kāi)發(fā)中使用的最流行的編程語(yǔ)言

    摘要:我們目前正處于一個(gè)新興的區(qū)塊鏈開(kāi)發(fā)行業(yè)中。,一種在以太坊開(kāi)發(fā)人員中流行的新的簡(jiǎn)單編程語(yǔ)言,因?yàn)樗怯糜陂_(kāi)發(fā)以太坊智能合約的語(yǔ)言。它是全球至少萬(wàn)開(kāi)發(fā)人員使用的世界上最流行的編程語(yǔ)言之一。以太坊,主要是針對(duì)工程師使用進(jìn)行區(qū)塊鏈以太坊開(kāi)發(fā)的詳解。 我們目前正處于一個(gè)新興的區(qū)塊鏈開(kāi)發(fā)行業(yè)中。區(qū)塊鏈技術(shù)處于初期階段,然而這種顛覆性技術(shù)已經(jīng)成功地風(fēng)靡全球,并且最近經(jīng)歷了一場(chǎng)與眾不同的繁榮。由于許多...

    2shou 評(píng)論0 收藏0
  • PHP 自 5.2 到 5.6 中新增的功能詳解

    摘要:本文將會(huì)介紹自起,直至中增加的新特征。棄用的功能以下幾個(gè)功能被棄用,若在配置文件中啟用,則會(huì)在運(yùn)行時(shí)發(fā)出警告。該類(lèi)的完整限定名是其中第一個(gè)反斜杠表示全局命名空間。目的在于模仿的不對(duì),目的是為了讓發(fā)布應(yīng)用程序更加方便。 截至目前(2014.2), PHP 的最新穩(wěn)定版本是 PHP5.5, 但有差不多一半的用戶(hù)仍在使用已經(jīng)不在維護(hù) [注] 的 PHP5.2, 其余的一半用戶(hù)在使用 PHP5...

    番茄西紅柿 評(píng)論0 收藏0
  • SegmentFault 技術(shù)周刊 Vol.32 - 七夕將至,你的“對(duì)象”還好嗎?

    摘要:很多情況下,通常一個(gè)人類(lèi),即創(chuàng)建了一個(gè)具體的對(duì)象。對(duì)象就是數(shù)據(jù),對(duì)象本身不包含方法。類(lèi)是相似對(duì)象的描述,稱(chēng)為類(lèi)的定義,是該類(lèi)對(duì)象的藍(lán)圖或原型。在中,對(duì)象通過(guò)對(duì)類(lèi)的實(shí)體化形成的對(duì)象。一類(lèi)的對(duì)象抽取出來(lái)。注意中,對(duì)象一定是通過(guò)類(lèi)的實(shí)例化來(lái)的。 showImg(https://segmentfault.com/img/bVTJ3H?w=900&h=385); 馬上就要到七夕了,離年底老媽老爸...

    李昌杰 評(píng)論0 收藏0
  • SegmentFault 技術(shù)周刊 Vol.32 - 七夕將至,你的“對(duì)象”還好嗎?

    摘要:很多情況下,通常一個(gè)人類(lèi),即創(chuàng)建了一個(gè)具體的對(duì)象。對(duì)象就是數(shù)據(jù),對(duì)象本身不包含方法。類(lèi)是相似對(duì)象的描述,稱(chēng)為類(lèi)的定義,是該類(lèi)對(duì)象的藍(lán)圖或原型。在中,對(duì)象通過(guò)對(duì)類(lèi)的實(shí)體化形成的對(duì)象。一類(lèi)的對(duì)象抽取出來(lái)。注意中,對(duì)象一定是通過(guò)類(lèi)的實(shí)例化來(lái)的。 showImg(https://segmentfault.com/img/bVTJ3H?w=900&h=385); 馬上就要到七夕了,離年底老媽老爸...

    Lyux 評(píng)論0 收藏0
  • SegmentFault 技術(shù)周刊 Vol.32 - 七夕將至,你的“對(duì)象”還好嗎?

    摘要:很多情況下,通常一個(gè)人類(lèi),即創(chuàng)建了一個(gè)具體的對(duì)象。對(duì)象就是數(shù)據(jù),對(duì)象本身不包含方法。類(lèi)是相似對(duì)象的描述,稱(chēng)為類(lèi)的定義,是該類(lèi)對(duì)象的藍(lán)圖或原型。在中,對(duì)象通過(guò)對(duì)類(lèi)的實(shí)體化形成的對(duì)象。一類(lèi)的對(duì)象抽取出來(lái)。注意中,對(duì)象一定是通過(guò)類(lèi)的實(shí)例化來(lái)的。 showImg(https://segmentfault.com/img/bVTJ3H?w=900&h=385); 馬上就要到七夕了,離年底老媽老爸...

    AaronYuan 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<