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

他們各自表達的意義:

public 可從類別內,或是別的類別,或是其他任何位置呼叫,並使用。
protected 可以從同一個類別或其衍生出來的類別(子類別)呼叫。
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;

arrow
arrow
    全站熱搜

    阿基 發表在 痞客邦 留言(0) 人氣()