《PHP教程:實(shí)例簡介PHP的一些高級面向?qū)ο缶幊痰奶匦浴芬c(diǎn):
本文介紹了PHP教程:實(shí)例簡介PHP的一些高級面向?qū)ο缶幊痰奶匦裕M麑δ杏谩H绻幸蓡枺梢月?lián)系我們。
一般來說,學(xué)習(xí)PHP需要了解下面的一些特性:PHP學(xué)習(xí)
對象克隆.PHP5中對OOP模型的主要改進(jìn)之一,是將所有對象都看作引用,而不是值.但是,如果所有對象都視為引用,那么如何創(chuàng)建對象的副本呢?答案是通過克隆對象.
PHP學(xué)習(xí)
<?php class Corporate_Drone{ private $employeeid; private $tiecolor; function setEmployeeID($employeeid) { $this->employeeid = $employeeid; } function getEmployeeID() { return $this->employeeid; } function setTiecolor($tiecolor) { $this->tiecolor = $tiecolor; } function getTiecolor() { return $this->tiecolor; } } $drone1 = new Corporate_Drone(); $drone1->setEmployeeID("12345"); $drone1->setTiecolor("red"); $drone2 = clone $drone1; $drone2->setEmployeeID("67890"); printf("drone1 employeeID:%d <br />",$drone1->getEmployeeID()); printf("drone1 tie color:%s <br />",$drone1->getTiecolor()); printf("drone2 employeeID:%d <br />",$drone2->getEmployeeID()); printf("drone2 tie color:%s <br />",$drone2->getTiecolor()); ?>
繼承.如前面所述,通過繼承來構(gòu)建類層次體系是OOP的關(guān)鍵概念.
PHP學(xué)習(xí)
class Employee { ... } class Executive extends Employee{ ... } class CEO extends Executive{ ... }
接口.接口是一些未實(shí)現(xiàn)的辦法定義和常量的集合,相當(dāng)于一種類藍(lán)本.接口只定義了類能做什么,而不涉及實(shí)現(xiàn)的細(xì)節(jié).本章介紹PHP5對接口的支持,并提供了一些展示這個強(qiáng)大OOP特性的例子.
PHP學(xué)習(xí)
<?php interface IPillage { // CONST 1; function emptyBankAccount(); function burnDocuments(); } class Employee { } class Excutive extends Employee implements IPillage { private $totalStockOptions; function emptyBankAccount() { echo "Call CFO and ask to transfer funds to Swiss bank account"; } function burnDocuments() { echo "Torch the office suite."; } } class test { function testIP(IPillage $ib) { echo $ib->emptyBankAccount(); } } $excutive = new Excutive(); $test = new test(); echo $test->testIP($excutive); ?>
抽象類.抽象類實(shí)質(zhì)上就是無法實(shí)例化的類.抽象類將由可實(shí)例化的類繼承,后者稱為具體類(concreate class).抽象類可以完全實(shí)現(xiàn)、部分實(shí)現(xiàn)或者根本未實(shí)現(xiàn).
PHP學(xué)習(xí)
abstract class Class_name { //insert attribute definitions here //insert method definitions here }
命名空間.命名空間可根據(jù)上下文劃分各種庫和類,幫肋你更為有效地管理代碼庫.
PHP學(xué)習(xí)
<?php namespace Library; class Clean { function printClean() { echo "Clean..."; } } ?> <?php include "test.php"; $clean = new \Library\Clean(); $clean->printClean(); ?>
如果你使用過其他面向?qū)ο笳Z言,可能會感到奇怪,為什么上述特性沒有包括其他語言中熟悉的一些OOP特性?原因很簡單,PHP不支持這些特性.為了讓你不再感到迷惑,下面列出PHP不支持的高級OOP特性.PHP學(xué)習(xí)
歡迎參與《PHP教程:實(shí)例簡介PHP的一些高級面向?qū)ο缶幊痰奶匦浴酚懻摚窒砟南敕ǎS易PHP學(xué)院為您提供專業(yè)教程。
轉(zhuǎn)載請注明本頁網(wǎng)址:
http://www.snjht.com/jiaocheng/8348.html