PHP中類成員的訪問控制

2022-08-19 18:21:12 字數 1527 閱讀 9992

類成員訪問控制:

1、public 預設的,任何地方都可以訪問,類內,類外,子類中

2、protected 受保護的,對外是封閉的,但是類內部和子類可以訪問

3、private  私有的,僅限於本類中訪問

靜態屬性和靜態方法

static關鍵字宣告了乙個屬性或方法是和類相關的,而不是和類的某個特定的例項相關,因此,這類屬性或方法也成為'類屬性'或類方法。

靜態方法的特點

static方法是累漲的乙個成員方法,屬於整個類,即是不建立任何物件也可以直接使用。靜態方法的缺點是不自動進行銷毀,而例項化的則可以做銷毀。

靜態屬性的特點

1.static的屬性,在記憶體中只有乙份,為所有的例項共用。

2.使用self:: 關鍵字訪問當前類的靜態成員。

3.乙個類的所有例項,共用類中的靜態屬性。

4.在記憶體中即使有多個例項,靜態的屬性也只有乙份。

使用靜態方法

1.在類外呼叫靜態方法時: 使用 類名::靜態方法名

2.在類中呼叫其他靜態方法時 :使用self::靜態方法名,不能使用thi

s('>this(

this(this指的是例項化類後的具體物件)th

is('>其他th

is('>靜態屬性不需要例項化就可以直接使用,在物件還沒有建立時就可以直接使用。

在靜態方法中不能使用thi

s−>呼叫

非靜態方

法或者非

靜態屬性

在靜態方

法中不能

使用'>this−>呼叫

當乙個類中有非靜態方法被self:: 呼叫時,系統會自動將這個方法轉換為靜態方法。th

is('>thi

s−>呼叫

非靜態方

法或者非

靜態屬性

在靜態方

法中不能

使用'>類外部呼叫靜態屬性和靜態方法

<?php

namespace _1010;

//靜態屬性和靜態方法,外部呼叫

class person

}echo person::$age,'

';//類外部呼叫靜態屬性

echo person::intro();//類外部呼叫靜態方法

th

is('>thi

s−>呼叫

非靜態方

法或者非

靜態屬性

在靜態方

法中不能

使用'>類內部呼叫靜態屬性

<?php

//內部呼叫靜態屬性

class person

//設定靜態屬性

public function setage($age)

//獲取靜態屬性

public function getage()

}//例項化物件

$p = new person();

$p->intro();

$p->setage(66);

$p->getage();

類內部呼叫靜態方法

PHP中 類的訪問控制

在php中主要通過public protectd private等關鍵字來定義訪問許可權。public 被public修飾的屬性和方法,可以在程式中任何位置被訪問,而且可以被子類繼承。php中,類方法的訪問許可權預設都是public。protected 被protected修飾的屬性和方法,可以在所...

C 類成員訪問控制及繼承的訪問控制

公有型別成員定義了類的外部介面,在類外智慧型訪問類的公有成員 私有成員只能被本類的成員函式訪問,來自外部的任何訪問都是非法的,完全隱藏在類中,保護了資料的安全性 保護型別成員的性質和私有成員性質相似,其差別在於繼承過程中對產生的新類的影響不同,意義在於不想向外部暴露某個函式或者成員變數,但又想讓派生...

C艹 類的繼承 類成員的訪問控制

一 類的繼承 1.類在功能上的拓展 extend 2.只能有乙個基類,但可以實現多個基介面 3.類訪問級別對繼承的影響 4.sealed類不能被繼承 例1 using system using system.collections.generic using system.linq using sy...