靜態 抽象類 載入類 魔術方法等

2022-09-05 13:45:08 字數 3936 閱讀 6922

靜態  static關鍵字

普通成員

普通成員是屬於物件的

靜態成員

靜態成員是屬於類的

普通方法裡面可以呼叫靜態成員

靜態方法裡面不能呼叫普通成員

self關鍵字 在類裡面代表該類

普通類

class

ren

靜態類

static

function

run()

ren::$zhongzu = "民族";

ren::run();

$r = new

ren();

$r->say();

class

myclass

static

function getcount()//

宣告乙個靜態方法,在類外面直接使用類名就可以呼叫

}myclass::$count=0;//

在類外面使用類名訪問類中的靜態成員,為其初始化賦值

$myc1=new myclass();//

建立第乙個

$myc2=new myclass();//

建立第二個

$myc3=new myclass();//

建立第三個

echo myclass::getcount()."

";//

輸出3echo

$myc3->getcount();//

輸出3

抽象類abstract關鍵字

不能被例項化

做為父類使用

abstract

class yunsuan//

定義乙個抽象類

}class jia extends yunsuan//

定義乙個jia類繼承與上邊的抽象類

}class jian extends yunsuan//

定義乙個jian類繼承與上邊的抽象類 }

class cheng extends yunsuan//

定義乙個jian類繼承與上邊的抽象類 }

$jia = new

jia();

$jia->a=10;

$jia->b=5;

echo

$jia->suan();

$jian = new

jian();

$jian->a=10;

$jian->b=5;

echo

$jia->suan();

$cheng = new

cheng ();

$cheng->a=10;

$cheng->b=5;

echo

$cheng->suan();

極度抽象的類

介面裡面的方法主要是用來控制子類必須實現該類裡面所有方法

inte***ce

iusb

class shubiao implements

iusb

function

write()  }

$s = new

shubiao();

$s->read();

載入類

include("./ren.class.php");//

"./"

include "./ren.class.php";

require("./ren.class.php");

require "./ren.class.php";

require_once("./ren.class.php");

require_once "./ren.class.php";

自動載入類

1.所有的類檔案要放在同乙個資料夾下

2.所有類檔案的命名規則要一致

3.所有類檔案的名字要和類名保持一致

function __autoload($classname

)$r = new

ren();

var_dump($r

);$d = new cat();

轉殖物件 關鍵字clone

class

ren  

function

__tostring()

//轉殖物件的時候自動呼叫的方法

function

__clone()  }

$r = new

ren();

$r->name = "張三";

$r1 = clone

$r;//

轉殖的語法

var_dump($r1

);var_dump($r);*/

魔術方法

建構函式,對類裡面成員進行初始化

function

__construct()

析構函式,在物件釋放的時候自動執行

function

__destruct()

__set方法

function __set($name,$value

)

__get方法

function __get($name

)

__tostring()方法

function

__tostring()

__clone方法

function

__clone()

__autoload方法

function __autoload($classname

)

__tostring()能夠直接輸出物件

class

ren  

function __tostring()//

不加這個方法,是不能直接輸出所造物件的,在類中新增此方法,可以直接輸出物件

}$r = new

ren();

echo

$r;

關鍵字

1.class定義類

2.訪問修飾符public

protected

private

3.new造物件的關鍵字

4.$this代表該物件本身

5.extends代表繼承

6.parent代表父類

7.static代表靜態

8.self代表該類

9.abstract代表抽象,定義抽象類

10.inte***ce代表介面,用來定義介面

11.implements實現介面

12.clone代表轉殖

13.override重寫

14.overload過載

15.oop代表物件導向

16.final寫在定義類前面的,將該類定義為最終類,則該類不能被繼承

多型 抽象類 魔術方法

多型 介面的方法實現可以有很多。多以對於介面裡面定義的方法的具體實現是多種多樣的,這種特性我們稱為多型 介面a兩個實現b和c,b和c對a裡面定義的方式實現可以是不同的,這種現象就是多型 相同的一行 對於傳入不同的介面的實現的物件的時候,表現是不同的。這就是多型 抽象類abstract 關鍵字用於定義...

抽象方法抽象類 靜態類靜態方法靜態成員

一 抽象類和抽象方法 用abstract修飾的方法稱為抽象方法 含有抽象方法的類必須定義為抽象類 只是當做派生類的基類來使用 抽象的特徵 抽象方法只做宣告,不能包含具體實現 抽象方法旨在被繼承之後使用,所以不能用 private來修飾 2,抽象類不能被直接例項化 不能用new建立 3,抽象類可以沒有...

抽象類中定義靜態方法

一直認為抽象類不能例項化,所以就沒有想過用直接呼叫方法,而是例項化它的子類,用子類呼叫方法,沒想到啊,在抽象類中定義static方法不就可以了嗎,static方法屬於類,不需要例項化。using system using system.reflection namespace abstractfac...