您好,登錄后才能下訂單哦!
這篇文章主要介紹了php對象的方法或屬性指什么意思的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇php對象的方法或屬性指什么意思文章都會有所收獲,下面我們一起來看看吧。
在php對象中,方法是指在類結構中創建的函數,是實現類中的一個行為,是類的一部分;而屬性是指在類結構中直接聲明的變量,對象中可以有多個屬性,每個變量都存儲對象不同的屬性信息。
本教程操作環境:windows7系統、PHP7.1版、DELL G3電腦
首先來簡單了解下相關概念:
類:class,是定義面向對象主體最外層結構,也是用來包裹主體數據和功能(函數),類是一類具有共性事務的代表,代表的是事務的共性。
對象:object,是某類事務的具體代表,也是實際數據和功能操作的具體單元,也被稱為實例(instance)。
實例化:new,從一個抽象的概念得到一個符合抽象概念的具體實例過程。
類成員:member,指類class結構中的所有內容,類成員里有三種;
方法:method,本質是在類class結構中創建的函數,也稱為成員方法,或者成員函數。
屬性:property,本質是在類class結構中創建的變量,也稱為成員變量。
下面來重點聊聊 屬性和方法 。
成員屬性
在類中直接聲明的變量稱為成員屬性(也可以稱為成員變量),可以在類中聲明多個變量,即對象中可以有多個成員屬性,每個變量都存儲對象不同的屬性信息。語法格式如下:
訪問權限修飾符 屬性名稱 = 屬性值;
成員屬性的類型可以是 PHP 中的標量類型和復合類型,所以也可以是其他類實例化的對象,但在類中使用資源和空類型是沒有意義的。
前面我們紹過,聲明變量時不需要任何關鍵字修飾,但是在類中聲明成員屬性時,變量前面一定要使用一個關鍵字來修飾,例如 public、private,static 等,但這些關鍵字修飾的變量都具有一定的意義。如果不需要有特定意義的修飾,可以使用“var”關鍵字,一旦成員屬性有其他的關鍵字修飾就需要去掉“var”。
常用訪問權限修飾符及其含義如下所示:
public:公共的,在類的內部、子類中或者類的外部都可以使用,不受限制;
protected:受保護的,在類的內部和子類中可以使用,但不能在類的外部使用;
private:私有的,只能在類的內部使用,在類的外部或子類中都無法使用。
注意:一個類,即一對大括號之間的全部內容都要在一段代碼中,也就是一個<?php ... ?>之間,不能分割成多塊。
【示例】創建一個 Students 類并在類中聲明一些成員屬性,代碼如下所示:
<?php class Students{ var $name; public $age; private $sex; public static $school; } ?>
提示:權限修飾符可以和定義靜態變量的關鍵字 static 混合在一起使用,如上面代碼中所示。
成員方法
在類中定義的函數被稱為成員方法。函數和成員方法唯一的區別就是,函數實現的是某個獨立的功能,而成員方法是實現類中的一個行為,是類的一部分。
可以在類中聲明多個成員方法,成員方法的聲明和函數的聲明完全一樣,只不過在聲明成員方法時可以在function關鍵字的前面加一些訪問權限修飾符來控制訪問權限,例如 public、private、protected 等。
另外需要注意的是,聲明的成員方法必須和類是相關的,不能是一些沒有意義的操作。例如,在聲明學生類時,如果聲明了“飛行”的成員方法,實例化出來的每個學生都可以飛了,這樣就是一個設計上的錯誤。
【示例】在上面示例中創建的 Students 類中創建一些成員方法。
<?php class Students{ var $name; public $age; private $sex; public static $school; public function Write(){ } protected static function Read(){ } function Listen(){ } } ?>
成員方法前面的權限修飾符可以省略,省略后默認權限為 public。在類中成員屬性和成員方法的聲明都是可選的,可以同時存在,也可以單獨存在,具體可以根據實際情況而定。
在 PHP7 中,引入了類型聲明,我們可以為成員方法的形參和返回值聲明類型,格式如下所示:
[權限修飾符] function 方法名 (類型 參數1, 類型 參數2, ..., 類型 參數n) : 返回值類型 { ... ... }
PHP7 中支持聲明的參數類型包括整型、浮點型、字符串型和布爾類型。示例代碼如下所示:
<?php class Students{ var $name; public $age; private $sex; public static $school; public function Write(string $a, int $b):bool{ } protected static function Read(string $str):int{ } function Listen(int $num):bool{ } } ?>
實例化對象并訪問對象中的成員
對象中包含成員屬性和成員方法,訪問對象中的成員和訪問數組中的元素類似,只能通過對象的引用來訪問對象中的成員。但還要使用一個特殊的運算符號->來完成對象成員的訪問,訪問對象中成員的語法格式如下所示:
變量名 = new 類名(參數); //實例化一個類 變量名 -> 成員屬性 = 值; //為成員屬性賦值 變量名 -> 成員屬性; //直接獲取成員屬性的值 變量名 -> 成員方法(); //訪問對象中的成員方法
下面通過一個示例來演示一下:
<?php header("Content-type:text/html;charset=utf-8"); class Website{ public $name, $url, $title; public function demo(){ echo '成員方法 demo()'; } } $student = new Website(); $student -> name = '億速云'; $student -> url = 'http://www.neiyidaogou.com/'; $student -> title = '實例化對象'; echo $student -> name.'<br>'; echo $student -> url.'<br>'; echo $student -> title.'<br>'; $student -> demo(); ?>
關于“php對象的方法或屬性指什么意思”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“php對象的方法或屬性指什么意思”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。