成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

php面向?qū)ο蠡A(chǔ)總結(jié)

封裝

封裝,繼承,多態(tài)是面向?qū)ο蟮娜筇匦?,本文總結(jié)一下 php 是如何實(shí)現(xiàn)這三大特性的

10年積累的網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問(wèn)題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站設(shè)計(jì)后付款的網(wǎng)站建設(shè)流程,更有晉城免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

封裝

創(chuàng)建類

普通類

class className{
    public $attribute1  //成員屬性

    //成員方法
    function fun1(){
        echo "method1"
    }         
}

抽象類

abstract class className1{
    //抽象方法
    abstract public function fun1();
    abstract private function fun2();
    abstract protected function fun3();
}
  • 抽象類至少有一個(gè)抽象方法

  • 抽象類不能被實(shí)例化,只能被繼承 extends

  • 繼承的派生類要把所有方法重載才能實(shí)例化對(duì)象

接口

可以看做是一種成員屬性全部為抽象的抽象類,用作定義規(guī)范(面向接口編程)

interface IName {
    const NAME;
    function fun1();
}
  • 接口中方法 必須全為抽象方法

  • 接口中成員方法和屬性為 public

  • 接口成員屬性必須為常量

  • 接口不能被實(shí)例化,只能被引用 implement

  • 被引用后,派生類不許把所有方法重載才能實(shí)例化對(duì)象

new 關(guān)鍵字

實(shí)例化對(duì)象,使用 -> 訪問(wèn)對(duì)象內(nèi)容 (成員屬性和成員方法)

$instance1 = new className;    //實(shí)例化對(duì)象
$instance1->attribute1;        //訪問(wèn)成員屬性
$instance1->method1();           //訪問(wèn)成員方法

封裝關(guān)鍵字 public, protected, private

作用域publicprotectedprivate
全局YesNoNo
繼承類YesYesNo
本類YesYesYes

類的成員方法前如不加封裝關(guān)鍵字,默認(rèn)為public,不過(guò)最好加上關(guān)鍵字,便于閱讀

$this 關(guān)鍵字

訪問(wèn)當(dāng)前 對(duì)象中的成員屬性和成員方法

self:: 關(guān)鍵字

在不實(shí)例化的情況下訪問(wèn)當(dāng)前 的成員屬性和成員方法, 作用域在定義類時(shí)確定。該關(guān)鍵字常與 static, const 搭配使用,用于訪問(wèn)靜態(tài)成員和常量

類名:: 屬性名 或 類名:: 方法名

在不實(shí)例化的情況下訪問(wèn)當(dāng)前 的成員屬性或成員方法。常用于在派生類中訪問(wèn)基類成員

繼承

extends 關(guān)鍵字

php 只能單一繼承

class B extends A{
    ......
}

implements 關(guān)鍵字

用于引用接口,不同于繼承的單一性,一個(gè)類可以引用多個(gè)接口

class A implements demo1, demo2, demo3{
    ......
}

extends 與 implements 混用

先繼承后引用,單繼承多引用

class A extends B implements demo1, demo2, demo3{
    ......
}

final 關(guān)鍵字

final class className1{
    final func1(){
        ......
    }
}
  • 加了 final 關(guān)鍵字的類不能被繼承

  • 基類中加了 final 關(guān)鍵字的成員方法不能在派生類中被重載

多態(tài)

static 關(guān)鍵字

加了 static 關(guān)鍵字的成員方法和成員屬性不具備多態(tài)性,用于在不實(shí)例化的情況下訪問(wèn)。靜態(tài)屬性單獨(dú)占用內(nèi)存,不會(huì)在對(duì)象實(shí)例化時(shí)被反復(fù)創(chuàng)建。

class className1{
    static $atrr1;
    static func1(){
        ......
    }
}

const 關(guān)鍵字

用于在類中定義常量,類似用于在外部定義常量的PHP關(guān)鍵字 define(); const 只能修飾類中的成員屬性

class className1{
    const NAME;
}

常量一般用大寫字母命名,且常量不使用 $ 符號(hào)

instanceof 關(guān)鍵字

用于判斷對(duì)象實(shí)例類型

$obj = new A();

if ($obj instanceof A) {
   echo 'A';
}

摘自php手冊(cè)

當(dāng)前名稱:php面向?qū)ο蠡A(chǔ)總結(jié)
網(wǎng)站URL:http://jinyejixie.com/article24/pdsoje.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)、、手機(jī)網(wǎng)站建設(shè)品牌網(wǎng)站建設(shè)、ChatGPT、品牌網(wǎng)站設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)
江陵县| 凤翔县| 山西省| 准格尔旗| 临城县| 泗水县| 甘泉县| 梅河口市| 城口县| 米易县| 惠东县| 恩平市| 南丹县| 南部县| 郸城县| 宁化县| 克东县| 临潭县| 攀枝花市| 尖扎县| 尖扎县| 牟定县| 光泽县| 梨树县| 广元市| 昆山市| 乐业县| 望奎县| 临桂县| 新河县| 蛟河市| 大新县| 冀州市| 连云港市| 日土县| 民丰县| 丹东市| 富阳市| 北辰区| 喀喇| 仲巴县|