日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

php面向对象公共类,PHP面向对象(一):类与类的实例化

發布時間:2023/12/19 php 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php面向对象公共类,PHP面向对象(一):类与类的实例化 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1)、類、對象、實例的關系

類是對象的抽象,對象是類的具體化,實例是對象的另一種名稱。

2)、類的定義

①、成員屬性(變量)的定義與使用

成員屬性必須 var public protected private

語法:

形式1:var? $v1 ;???? //定義不賦值

形式2:var? $v2 = 2; //定義的同時可以賦值,該值只能是“直接值”,常量(值),不能是變量值,也不能是“計算表達式”

形式3:public ?$v1;

形式4:public ?$2 = 2;? //其實var是“public”一個別名,正式用public更好。

作用:對事物特征的描述。

錯誤形式:

$v1 = 1;

var? ??$v2 = 1+3;? ?//右邊不能是計算表達式

public ?$v3 = $v2; ?//右邊不能是變量

使用形式:

$對象->屬性名;//注意:屬性名前面沒有$符號。

②、成員方法(函數)的定義與使用

語法:關鍵字(缺省時默認public) + function +名稱(參數)

定義成員方法的時候可以加參數也可以不加參數

③、this,self,parent三個關鍵字

this就是指向當前對象實例的指針,不指向任何其他對象或類。

self通常只能在某個類的某個方法內部代表該類的名稱。

parent如果想在子類中調用父類的同名方法,那么請你使用關鍵字parent::+方法名()

④、php鏈式調用原理

在一個類中有多個方法,當你實例化這個類,并調用方法時只能一個一個調用

如果要實現鏈式調用,這要在方法的結束添加return $this即可。

3)、static關鍵字

static 關鍵字來定義靜態方法和屬性。static 也可用于定義靜態變量以及后期靜態綁定

①、靜態類:

PHP中和Java中一樣:如果一個類要被聲明為static的,只有一種情況,就是靜態內部類。

類中成員有:靜態的和非靜態的,而靜態類只有一種,那就是靜態內部類。

②、靜態成員

靜態屬性:只隸屬于類本身——也可以看做是所有對象的“共有數據”。

使用:類::$靜態屬性名

靜態方法:同樣隸屬于類,而不是隸屬于具體對象。

使用:類名::靜態方法名();

【注】1、靜態方法中只能調用靜態屬性和靜態方法,不能調用非靜態屬性和方法,self::方法名()、self::屬性名

2、動態方法中靜態方法和動態方法都可以調用,如果在同一個類中:

調用靜態方法使用:self::方法名()、self::屬性名,

調用動態方法用this?>方法名()、this?>方法名()、this->屬性名

3、只有實例化的時候才會自動調用構造函數,所以只有動態類才可以觸發構造函數,靜態類不會觸發構造函數

4、由于靜態方法不需要通過對象即可調用,所以偽變量 $this 在靜態方法中不可用。

5、靜態屬性只能被初始化為文字或常量,不能使用表達式。所以可以把靜態屬性初始化為整數或數組,但不能初始化為另一個變量或函數返回值,也不能指向一個對象。

6、自 PHP 5.3.0 起,可以用一個變量來動態調用類。但該變量的值不能為關鍵字 self,parent 或 static。

③、后期靜態綁定:

Self:通常只能在某個類的某個方法內部代表該類的名稱,所以指向當前A類的who方法,static有后期綁定的概念,所以指向B類,因為是B在調用test方法,所以指向B類,而B類中有who方法。

4)、類常量(const關鍵字)

1:類里面定義的常量,用const定義,常量是屬于類的,不是對象的。

2:定義類中的常量的時候必須給初始值

3:在使用類中的常量的時候,要使用類名::+常量名或者self::+常量名來調用

4:在類的外部調用類的常量,只能使用類名::+常量名來調用

5:類中定義的常量只歸類所有,不歸對象所有,不能通過對象來調用

類內部調用類常量:

類外部調用類常量:

5)、范圍解析操作符(::)

作用:可以用于訪問靜態成員,類常量,還可以用于覆蓋類中的屬性和方法。

實例1:類的外部使用 :: 操作符

實例2:self,parent 和 static 這三個特殊的關鍵字是用于在類內部對其屬性或方法進行訪問的

實例3:調用父類的方法

6)、實例化中的問題

實例化對象的格式為:

$變量名 = new 類名();?? //括號里可傳參數

給對象中的成員屬性賦值的格式為:

$引用名 ->成員屬性 = 值;

調用對象中的成員方法的格式為:

$引用名 -> 成員方法;

成員方法使用成員屬性的格式為

$this -> 成員屬性;

實例化對象時參數問題:

1:當我們實例化一個php類的時候,要怎么傳遞參數呢?這取決于該類的構造方法。

2:可以通過var_dump()打印對象,不過只能打印對象的屬性,它的方法不能打印出來。

3:要想獲取對象的方法列表,可以用get_class_methods函數。

【注】

總結

以上是生活随笔為你收集整理的php面向对象公共类,PHP面向对象(一):类与类的实例化的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。