php 物件導向(三)

定義物件的成員函數,跟PHP在一般寫方法一樣,但是比較不一樣的是他有另三個關鍵字。就是"public" "protected"跟"private"。這三個關鍵詞在寫物件的程式一定會遇到,也一定要記住,但是在PHP中比較特別的是,若不去宣告他的範圍的時候,都是當做public來看待。

他們各自表達的意義:
  1. public:可從類別內,或是別的類別,或是其他任何位置呼叫,並使用。
  2. protected:可以從同一個類別或其衍生出來的類別(子類別)呼叫。
  3. private:只可以在自己這個類別裡面使用。
建立成員函數的公式:

class 類別
{

       public 方法名稱([參數,........]){

       }
       protected 方法名稱([參數,........]){

       }
       private 方法名稱([參數,........]){

       }

}

在類別裡面要使用的方法,可以使用"$this"這個關鍵字。$this->方法名稱([引數.....])的形式呼叫。

建立出實體之後,方法可以使用"物件->方法名稱([引數.....])"的形式呼叫。


定義成員屬性跟成員方法是一樣的。只是少了function這個關鍵字。但是在PHP5的部分,一定要加上 "public" "protected" 或是"private",在不然就要像PHP4,加上 var的關鍵字。但是var 意義就跟public一樣。

class 類別
{

       public  屬性名稱="";

       protected 屬性名稱="";

       private 屬性名稱="";

}

範例

class HelloOOP
{

  //php4的宣告成員屬性
  var $memberA;
  //php5的宣告成員屬性
  public $memberB;

  //建構子 For PHP5
  function __construct($inputA,$inputB){
      $this->memberA=$inputA;
      $this->memberB=$inputB;
  }

  //定義解建構子
  function __destruct(){
      echo "這個類別被解開了!";
  }

  //宣告成員方法
  public function callShowMessage()
{

      //呼叫成員方法來使用。
     $this->showMessage();

  }

   //宣告成員方法,不加上關鍵字都視為public
   function showMessage()
{

        //呼叫成員屬性來使用。
        echo $this->memberA;

   }

}

$A=new HelloOOP("HELLO","你好");

//建立出實體之後運用裡面的方法。 會顯示 HELLO
$A->callShowMessage();

//建立出實體之後運用裡面的屬性。會顯示 "你好"
echo $A->memberB;

留言

這個網誌中的熱門文章

c語言-關於#define用法

CMD常用網管指令

PHP 與 JavaScript 之間傳值利用 json