php 類 對象 屬性 方法的理解

來源:互聯網
上載者:User
一、建立類和對象

使用者定義的類,也是學好PHP所必備的條件之一。PHP中的類和其他的物件導向語言中的類比較起來,相對比較簡單。PHP只有類(class)、方法(method)、屬性以及單一繼承(extensions)等。在PHP中,要建立一個類很簡單,只需要關鍵字class即可,一個最簡單的類的定義如下:

class class_name{//用關鍵字var定義類的屬性,屬性的類型支援PHP的所有資料類型,也可以是一個對象var $var_1;var $var_2;…var $var_n;//用關鍵字function定義類的方法function method_1(…){…}function method_2(…){…}…function method_n(…){…}}

其中,class是聲明類必須使用的關鍵字;class_name表示類名,類名的選擇應該有一定的意義,這樣方便記憶和理解;{}用來標識類的開始和結束。

注意:若在類的內部的實現中使用類自身的屬性或方法,需要在“->”屬性或方法前加上“$this”,表明使用的是自身成員,而此時屬性前不再使用“$”標記。

在PHP中用關鍵字new來建立一個類的對象,其文法如下:

$object_name=new class_name

其中,object_name即為所要建立的對象的名字,關鍵字new用來建立一個對象,class_name為類名。

二、用類封裝代碼使其調用更加的方便、代碼整合度更高、擴充性更好、可維護性更強。本範例主要應用到了類,包括類聲明、類體和調用類。編寫一個圖書資訊的類,利用PHP調用該類。在編寫類時應將類編寫在PHP頁面裡,這樣類的定義和方法都位於一個PHP頁面中,當類修改以後,也不需要重新編譯,只需要重新運行PHP頁面代碼即可。

(1)在class_book.php檔案中編寫一個圖書類。

使用class表示它是一個類類別。在類別中的function中的book表示該類的一個方法。方法可以封裝類的實際處理情形,讓該類能依照封裝好的方法來獨立執行一些步驟。

<?phpclass book{          //聲明類var $book_ID;       //圖書編號var $book_name;     //圖書名稱var $book_author;    //作者var $book_TPI;      //出版社var $book_price;     //定價function book($ID,$Name,$Author,$TPI,$Price){$this->book_ID=$ID;$this->book_name=$Name;$this->book_author=$Author;$this->book_TPI=$TPI;$this->book_price=$Price;}}?>

程式中的$this類變數在PHP中屬於特殊的變數,$this變數只用在類類別中,表示類的本身。

(2)調用類方法。將上面的已定義好的類存成php檔案,再使用require(或include)包含進來。在定義變數$obj時,要使用new的保留字,使用“->”符號,表示執行類的方法。

<?php include "class_book.php" ?><?php$obj=new book("7-115-14688-8", "php 資料庫開發執行個體教程", "周五", "長江出版社", 49);echo "圖書編號:$obj->book_ID<br>";echo "圖書名稱:$obj->book_name<br>";echo "作  者:$obj->book_author<br>";echo "出 版 社:$obj->book_TPI<br>";echo "定  價:$obj->book_price<br>";?>

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.