php 物件導向(三)
定義物件的成員函數,跟PHP在一般寫方法一樣,但是比較不一樣的是他有另三個關鍵字。就是"public" "protected"跟"private"。這三個關鍵詞在寫物件的程式一定會遇到,也一定要記住,但是在PHP中比較特別的是,若不去宣告他的範圍的時候,都是當做public來看待。
他們各自表達的意義:
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;
他們各自表達的意義:
- 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;
留言
張貼留言