(進階篇)PHP物件導向- 類與對象

來源:互聯網
上載者:User
以下是文章本文:

基本概念

物件導向編程(Object Oriented Programming, OOP, 物件導向程式設計)是一種電腦編程架構。OOP 的一條基本原則是電腦程式是由單個能夠起到子程式作用的單元或對象組合而成。OOP 達到了軟體工程的三個目標:重用性、靈活性和擴充性。

PHP 在 4.0 版本之後完善了對 OOP 的支援了。對於小型的應用,使用傳統的過程化編程可能更簡單也更有效率。然而對於大型的複雜應用時,OOP 就是一個不得不考慮的選擇。

類是具有相同屬性和服務的一組對象的集合。它為屬於該類的所有對象提供了統一的抽象描述,其內部包括屬性和服務兩個主要部分。在物件導向的程式設計語言中,類是一個獨立的程式單位,它應該有一個類名並包括屬性說明和服務說明兩個主要部分

對象

對象是系統中用來描述客觀事物的一個實體,它是構成系統的一個基本單位。一個對象由一組屬性和對這組屬性進行操作的一組服務組成。

類與對象的關係就如模具和鑄件的關係,類的執行個體化結果就是對象,而對一類對象的抽象就是類。

關於物件導向的編程涉及的內容很廣泛,本教程只介紹基本的概念與在 PHP 中的應用。

使用關鍵字 class 來聲明一個類,後面緊跟類的名字,主體用 {} 符號括起來。

文法:

class class_name{ ...... }

類裡麵包含了屬性和方法。

屬性

在類的主體中,可以聲明叫做屬性的特殊變數。在 PHP V4 中,屬性必須用關鍵字 var 調用。這仍是合法的文法,但主要是為了向後相容。在 PHP V5 中,屬性必須聲明為 public、private 或 protected。可以在 關鍵字:在此我們是否可以有一點隱私?中閱讀有關這些限定詞的內容。但現在在例子中將所有屬性聲明為 public。清單 1 顯示一個聲明了兩個屬性的類。

聲明兩個屬性的類

class Dictionary {   public $translations = array();   public $type ="En";}

舉個例子說明,如果定義一個 人 的類,那麼人的 姓名、年齡、性別 等等便可以看做 人 這個類的屬性。

方法

通過在類定義中聲明函數,即建立了類的方法。

文法:

class class_name{ function function_name(arg1,arg2,……) { 函數功能代碼 } }

類的應用

一個定義了屬性和方法的類就是一個完整的類了,可以在一個類裡麵包含一個完整的處理邏輯。使用 new 關鍵字來執行個體化一個對象以便應用類裡面的邏輯。可以同時執行個體化多個對象。

文法:

object = new class_name();

執行個體化一個對象後,使用 -> 操作符來訪問對象的成員屬性和方法。

文法:

object->var_name; object->function_name;

如果要在定義的類裡面訪問成員的屬性或者方法,可以使用偽變數 $this 。$this 用於表示 當前對象 或 對象本身 。

例子:

<?php class Person { //人的成員屬性 var $name; //人的名字 var $age; //人的年齡 //人的成員 say() 方法 function say() { echo "我的名字叫:".$this->name."<br />"; echo "我的年齡是:".$this->age; } } //類定義結束 //執行個體化一個對象 $p1 = new Person(); //給 $p1 對象屬性賦值 $p1->name = "張三"; $p1->age = 20; //調用對象中的 say()方法 $p1->say(); ?>

運行該例子,輸出:

我的名字叫:張三 我的年齡是:20

上面的例子示範了一個簡單的基於物件導向的 PHP 應用。

以上就是(進階篇)PHP物件導向- 類與對象的內容,更多相關內容請關注topic.alibabacloud.com(www.php.cn)!

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.