綜述
PHP的面向對象編程是進(jìn)行項目開(kāi)發(fā)時(shí)常用到的方法。本節我們將要介紹如何在PHP中進(jìn)行面向對象編程(OOP,Object Oriented Programming),并說(shuō)明如何通過(guò)使用一些OOP的概念和PHP的技巧來(lái)減少編碼和提高質(zhì)量。在應用PHP類(lèi)前,請你查閱相關(guān)的面向對象編程書(shū)籍,了解面向對象及類(lèi)的相關(guān)基礎知識。
如何建立一個(gè)類(lèi)及類(lèi)的實(shí)例對象?
在PHP中通過(guò)類(lèi)來(lái)完成封裝,我們先看一個(gè)簡(jiǎn)單的例子:
<?php //定義類(lèi)
class ClassName {
//定義數據成員用"var",數據成員可以是一個(gè)整數,一個(gè)數組,一個(gè)相關(guān)數組(associative array)或者是一個(gè)對象
var $value;
//方法在類(lèi)中被定義成函數形式,在方法中訪(fǎng)問(wèn)類(lèi)成員變量時(shí),可以使用$this->name ,比如$this->setValue
function setValue($v) {
$this->value=$v;
}
function getValue() {
return $this->value;
}
}
//創(chuàng )建一個(gè)對象用"new"操作符
$obj=new ClassName;
$obj->setValue("Hello,PHP world!");
$obj->getValue();
>
繼承用"extend"關(guān)鍵字。例如:
<?php
class HelloPHPWorld extends ClassName {
var $message;
function setMessage($msg) {
$this->message=$msg;
}
function getMessage() {
return $this->message;
}
}
>
"HelloPHPWorld"類(lèi)的對象現在擁有了父類(lèi)(ClassName)的全部的數據成員及方法,另外還有自已的數據成員和方法。
我們可以使用:
$obj2=new HelloPHPWorld;
$obj2->setValue("I love world!");
$obj2->setMessage("I love PHP!");
PHP現在還不支持多重繼承,所以不能從兩個(gè)或兩個(gè)以上類(lèi)派生出新的類(lèi)來(lái)。
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請
點(diǎn)擊舉報。