1. 程式人生 > 實用技巧 >PHP面向物件

PHP面向物件

面向物件

面向物件內容:面向物件。面向過程。

−定義了一件事物的抽象特點。

物件− 是類的例項。

成員變數− 定義在類內部的變數。該變數的值對外是不可見的,但是可以通過成員函式訪問,在類被例項化為物件後,該變數即可稱為物件的屬性。

成員函式− 定義在類的內部,可用於訪問物件的資料。

類的定義

類使用class關鍵字後加上類名定義

類名後的一對大括號({})內可以定義變數和方法

類的變數使用var來宣告, 變數也可以初始化值。

函式定義類似 PHP 函式的定義,但函式只能通過該類及其例項化的物件訪問。

建立物件:

使用時:

$bmw = new phpClass();

呼叫成員變數和方法

$bmw->myfunc();$bmw->var1;

名稱空間中類的定義和使用

如圖-------------->

建構函式

主要用來在建立物件時初始化物件, 即為物件成員變數賦初始值,在建立物件的語句中與 new 運算子一起使用。

function __construct(){}

解構函式

物件結束其生命週期時(例如物件所在的函式已呼叫完畢),系統自動執行解構函式。

function __destruct(){}

繼承:extends

一個父類可以被多個子類繼承,

一個子類只能繼承一個父類;

方法重寫:

如果從父類繼承的方法不能滿足子類的需求,可以對其進行改寫,這個過程叫方法的覆蓋

(override),也稱為方法的重寫。

訪問控制

public(公有):公有的類成員可以在任何地方被訪問。

protected(受保護):受保護的類成員則可以被其自身以及其子類訪問

private(私有):私有的類成員則只能被其定義所在的類訪問。

屬性的訪問控制:

類屬性必須定義為公有,受保護,私有之一。如果用 var 定義,則被視為公有。

方法的訪問控制:

類中的方法可以被定義為公有,私有或受保護。如果沒有設定這些關鍵字,則該方法預設為公有

在子類中呼叫父類的屬性和方法時:使用$this呼叫;不可在定義屬性時使用$this;

在靜態方法中不允許使用$this,只能使用self,較為靠譜的回答說明是$this是例項化物件

的指標,self呼叫的的指標。靜態變數和靜態方法始終屬於類。

parent::呼叫靜態屬性和方法;

  常量:

可以把在類中始終保持不變的值定義為常量。在定義和使用常量的時候不需要使用 $ 符號。

class MyClass{
 const constant = '常量值';
 function showConstant() {
 echo self::constant;//self指的類的本身
 }}
echo MyClass::constant;//在類外時使用類的名字
class aabb extends MyClass {
 funcation smker(){
 echo parents::constant;//用父類的常量時用parents
}
}

static 關鍵字:

宣告類屬性或方法為 static(靜態),就可以不例項化類而直接訪問。

  例如

  class a{

    public static $q = 110;

     funcation aa(){

    each self::$q;

    }

    echo a::$q;

  }

  class b extends a{

    funcation ss(){

    each parents::$q;

    }