PHP學習筆記 物件導向

2021-05-26 01:23:12 字數 1748 閱讀 6998

類的結構:

class classname

var $attribute   //新增屬性

function operation()  //宣告函式

建構函式:_construct()

析構函式:_destruct()

使用類的屬性:在乙個類中,可以訪問乙個特殊的指標--$this。eg:$this->attribute。

在類的外部直接訪問乙個屬性:eg:$a=new classname;$a->attribute=『value』。

使用__get()和__set()函式來實現對屬性的訪問。

使用private和public關鍵字控制訪問:

public(預設選項),這意味著如果沒有為乙個屬性或方法指定訪問修飾符,它將是public。公有的屬性或方法可以在類的內部和外部進行訪問。

private訪問修飾符意味著被標記的屬性或方法只能在類的內部進行訪問。私有的屬性和方法將不會被繼承。

protected訪問修飾符意味著被標記的屬性或方法只能在類內部進行訪問。它也存在於任何子類。

在php中實現繼承

classbextendsa   

可以使用private和protected訪問修飾符來控制需要繼承的內容。如果乙個屬性或方法被指定為private,它將不能被繼承。如果乙個屬性或方法被指定為protected,它將在類外部不可見(就像乙個private元素),但是可以被繼承。

可以使用final關鍵字來禁止乙個類被繼承。要禁止乙個類被繼承,可以按如下所示的方式使用final關鍵字:

finalclassa  

php並不支援多重繼承。也就是說,每個類都只能繼承乙個父類。乙個父類可以有多少個子類並沒有限制。

過載

是指在子類裡面定義了乙個和父類同名的屬性或方法,且該方法將在子類中將把父類的方法覆蓋。

如果父類定義方法時使用了 final 關鍵字,則不允許被子類方法覆蓋。

可以通過 :: 符號來訪問父類被覆蓋的方法或成員屬性,parent關鍵字允許呼叫父類操作的最初版本。例如,要從子類b中呼叫父類a::operation,可以使用如下所示的語句:parent::operation(); 

實現介面

介面的思想是指定乙個實現了該介面的類必須實現的一系列函式。

inte***cedisplayable  

functiondisplay();  

classwebpageimplementsdisplayable  

functiondisplay()  

// ...  } 

PHP物件導向學習筆記

學習基於 細說php 類宣告 class 類名 類成員屬性 class person 成員方法 class person 例項化物件 person new person 訪問 引用名 成員屬性 成員方法 非靜態 物件成員方法引用成員屬性用 this class person 構造方法與析構方法 構造...

php學習筆記 物件導向

解決名字衝突,增強可讀性 不能定義任何語句 namespace space1 function fn namespace space2 function fn namespace foo 解析為當前namespace foo namespace space subspace foo 解析為 spac...

PHP物件導向學習筆記二

上篇文章我記錄了一下關於php封裝的知識,這篇文章我就記錄一下關於php繼承的知識吧。php中的繼承和嚴格意義上物件導向語言,比如 c 是大同小異的。php中類的繼承需要使用extends這個關鍵字 class child extends father 看,是不是很簡單,這樣child類就繼承了fa...