class="area">
PHP是弱變量的腳本語言,也就是說你無需先定義,這一點很靈活。也可以給予很大的自由度,但對於程序來說,自由並非好事。
因為給予後期維護人員閱讀帶來很大的麻煩。
下面來進入我們第一個程序:
1.php
////////////////////
<?class helloWorld{
var $hellow_str = "Hello World!";
function helloWorld(){
echo $this->hellow_str;
}
}
$p = new helloWorld;
?>
////////////////////
很明顯,這是一個類,很簡單的類,只有一個構造函數。目的就是輸出"Hello World";首先我們定義了一個類成員變量,通過一個特殊的$this對象,輸出該變量,oop思想我不是很精,僅僅在於php開發方面用到,其他的也只是借鑒,但是我想對於php開發者已經足夠了。
接下來,解釋下什麼是$this對象,從這點我們先要知道什麼是類。
類,可以解釋為一群相同的群體,在類中的成員變量,如上面的$hellow_str可以看作是這個群體的獨特的特征,比如,桌子群體是一個
類,桌子都有桌面,桌腳,這些“都有”的東西,就是桌子全體的共有特征,在程序類裡面我們就可以定義其為 桌子類的一個成員變量。
////////////
class desktop{
var $desktop;#桌子面;
var $baluster;#桌子腿;
}
///////////
同樣,在桌子世界裡,他們也有共同的動作,比如移動[也許你現在就在推桌子^^],也可能我們要把桌子的面子放大點,一樣,這個就是桌子群提的共有方法了,[和特征近似哦,不過這是動作罷了]。讓我們把這個共同特征加到類中去吧。
////////////////
class desktop{
var $desktop;#桌子面;
var $baluster;#桌子腿;
function move(){
#....
}
function largen(){
#...
}
}///////////////
知道了上面的,那麼接下來就很好理解什麼是$this對象了,沒有錯,他就是桌子群中的一個特定的對象,如果閣下還不能理解,那麼,
我們接著解釋。
如果,我們現在要對一張桌子進行整改,比如,我們想把桌子面積做的更大,那麼,我們針對的就不是一群桌子,而是這個要整改的特定的桌子,這是個個體!所以,我們要把這個類進行“實例化”進行精確定位。因為,其他桌子我們不需要整改。
////////////////
class desktop{
var $desktop;#桌子面;
var $baluster;#桌子腿;
function move(){
#....
}
function largen(){
$this->desktop++;#放大桌子面
}
}
$d = new desktop;#“實例化,這個時候我們就是針對一個特定的桌子拉!
$d->largen();#哈哈,把這個特定桌子面放大點。其實$d = $this;明白嗎,$d就是那個特定的桌子,$d->largen就是用那個特定桌子[桌子群大家都有的變大方法]把特定桌子面放大了點。
///////////////
原來,$this就是指一個特定桌子呀,哈哈,明白了,原來類是大家都有的屬性,方法的集合,而一個特定的對象,就是這個群體中的一個個體,既然是他們當中的個體,當然擁有群體所擁有的共同特征和方法拉。
成員變量,成員方法[成員函數],實例化,大家都知道了。
但是我桌子雖然想變大,可是我還不知道桌子開始有多大啊,這可能嗎,怎麼辦呢?
接下來,我們隆重推出 構造函數 來拉。要說到構造函數啊,話多啊,就不多說了,他就是給我們桌子面和桌子腿確定大小的。
////////////////
class desktop{
var $desktop;#桌子面;
var $baluster;#桌子腿;
function desktop(){
$this->desktop = 100;
$this->baluster = 100;
}
function move(){
#....
}
function largen(){
$this->desktop++;#放大桌子面
}
}
////////////
看到了吧,我把桌子定義了大小和長度哦
//////////