在之前的文章中給大家?guī)砹恕禤HP中自定義錯誤處理函數與錯誤屏蔽你會了嗎?》,其中詳細的給大家?guī)砹薖HP錯誤處理的相關知識,本篇我們一起來看一下PHP中面向對象的相關知識,希望對大家有幫助!
面向對象其實就是將需要處理的問題抽象作為一個對象,然后通過對象的屬性和行為來解決對象的實際問題。那我們一起來看一看應該怎樣在PHP中去定義類與對象。
class定義類
在PHP中,這個類是一個抽象的概念。我們可以理解為世界上的任何事物都有自身的屬性與方法,屬性指的就是一個事物的性質,例如一個籃球,它的屬性指的就是它的大小、顏色、重量之類的;它的方法也就是他所具有的功能。
總而言之,類是變量(類的屬性)與作用于這些變量的函數(類的方法)的集合,屬性與方法是構成類的基礎。
在PHP中我們可以通過class關鍵字加類名的方式定義一個類,它的語法格式如下:
[修飾類的關鍵字] class 類名{ 類的屬性和方法; }
類名的命名規(guī)則與變量名與函數名的命名規(guī)則是非常類似的,都遵循的是PHP中的自定義命名規(guī)則。
-
類名要以字母和或者下劃線開頭,由字母、數字和下劃線組成。
-
當類名有多個單詞構成的時候,一般情況下習慣把每個單詞的首字母大寫,
-
需要注意的是,類名最好還是要有一定的意義,最好不要由隨便的幾個字母組成。
在上述語法格式中,里面修飾類的關鍵字是可以省略的,通常使用abstract和final作為關鍵字來修飾類。
成員屬性
了解類的語法格式后,我們就應該了解到類的成員屬性,什么是成員屬性,我們把在類中直接聲明的變量成為成員屬性,也叫做成員變量。在類中能夠聲明多個變量,也就是在類中有多個成員屬性,每個變量都儲存類的不同的屬性信息。它的語法格式如下:
訪問權限修飾符 屬性名稱 = 屬性值;
其中我們需要注意的是,在類中聲明成員屬性時,一定要在前面使用一個關鍵字來修飾,這個和聲明變量時不一樣,在類中聲明變量必須要有關鍵字來修飾。其中一些關鍵字是有意義的,如果不需要有別的意義來進行修飾的話要使用“var”關鍵字來修飾,它是沒什么特定意義的,但是一旦有別的特定意義就要用別的關鍵字來修飾。
接下來給大家列舉一些常用的修飾關鍵字:
-
public
:用它修飾后聲明的成員屬性,在類的內部、子部和外部都可以使用,不會受到限制,表示它是一個公共的。 -
protectrd
:用它修飾后聲明的成員屬性,在類的內部和子部可以使用,但是不能再類的外部使用。 -
pirvate
:用它修飾后聲明的成員屬性,只能夠在類的內部使用,不能再類的子部和外部使用。
實例如下:
<?php class Family{ var $father; public $mother; private $brother; protectrd $sister; } ?>
定義一個名為Family的類,在類中用不同的關鍵字修飾成員屬性。
成員方法
成員方法就是在類中定義的函數 ,函數實現(xiàn)的是某一個獨立的功能,與函數不同的是,成員方法實現(xiàn)的是類的一個行為,是類的一部分。在類中可以聲明多個成員方法,在聲明成員方法時需要注意的是,可以在function
關鍵字的前面加上訪問權限修飾符來控制訪問權限。
實例如下:
<?php class Family{ var $father; public $mother; private $brother; public static $sister; public function Write(){ } protected static function Read(){ } function Listen(){ } } ?>
在PHP中,還有類型聲明,
引入了類型聲明,我們可以為成員方法的形參和返回值聲明類型,格式如下所示:
[權限修飾符] function 方法名 (類型 參數1, 類型 參數2, ..., 類型 參數n) : 返回值類型 { ... ... }
其中參數類型可以包括整型、字符串型、浮點型和布爾型,實例如下:
<?php class Family{ var $father; public $mother; private $brother; public static $sister; public function Write(string $a, int $b):bool{ } protected static function Read(string $str):int{ } function Listen(int $num):bool{ } } ?>
大家如果感興趣的話,可以點擊《PHP視頻教程》進行