亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

php 面向對象基礎總結

發布時間:2020-07-03 15:03:00 來源:網絡 閱讀:317 作者:GIpanda 欄目:web開發

封裝

封裝,繼承,多態是面向對象的三大特性,本文總結一下 php 是如何實現這三大特性的

封裝

創建類

普通類

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

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

抽象類

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

  • 抽象類不能被實例化,只能被繼承 extends

  • 繼承的派生類要把所有方法重載才能實例化對象

接口

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

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

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

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

  • 接口不能被實例化,只能被引用 implement

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

new 關鍵字

實例化對象,使用 -> 訪問對象內容 (成員屬性和成員方法)

$instance1 = new className;    //實例化對象
$instance1->attribute1;        //訪問成員屬性
$instance1->method1();           //訪問成員方法

封裝關鍵字 public, protected, private

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

類的成員方法前如不加封裝關鍵字,默認為public,不過最好加上關鍵字,便于閱讀

$this 關鍵字

訪問當前 對象 中的成員屬性和成員方法

self:: 關鍵字

在不實例化的情況下訪問當前 的成員屬性和成員方法, 作用域在定義類時確定。該關鍵字常與 static, const 搭配使用,用于訪問靜態成員和常量

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

在不實例化的情況下訪問當前 的成員屬性或成員方法。常用于在派生類中訪問基類成員

繼承

extends 關鍵字

php 只能單一繼承

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

implements 關鍵字

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

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

extends 與 implements 混用

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

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

final 關鍵字

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

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

多態

static 關鍵字

加了 static 關鍵字的成員方法和成員屬性不具備多態性,用于在不實例化的情況下訪問。靜態屬性單獨占用內存,不會在對象實例化時被反復創建。

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

const 關鍵字

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

class className1{
    const NAME;
}

常量一般用大寫字母命名,且常量不使用 $ 符號

instanceof 關鍵字

用于判斷對象實例類型

$obj = new A();

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

摘自php手冊

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

曲阳县| 云安县| 弥渡县| 浦东新区| 韶关市| 梁河县| 班玛县| 滦南县| 康定县| 武强县| 锡林郭勒盟| 曲阳县| 双城市| 镇江市| 襄垣县| 西藏| 柯坪县| 郸城县| 北宁市| 长武县| 岳普湖县| 托克逊县| 安西县| 荆门市| 台北县| 资阳市| 朝阳市| 隆昌县| 沽源县| 遂宁市| 潼关县| 磐石市| 永登县| 贡嘎县| 红河县| 吐鲁番市| 屏东市| 玛纳斯县| 淳化县| 赫章县| 南城县|