麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發(fā) > PHP > 正文

實例簡介PHP的一些高級面相對象編程的特性

2024-05-04 23:40:35
字體:
供稿:網(wǎng)友
這篇文章主要以實例簡單介紹了PHP的一些高級面相對象編程的特性,包括在Java等OOP語言中所經(jīng)常見到的接口和抽象類等,需要的朋友可以參考下
 

一般來說,學習PHP需要了解下面的一些特性:

對象克隆。PHP5中對OOP模型的主要改進之一,是將所有對象都看作引用,而不是值。但是,如果所有對象都視為引用,那么如何創(chuàng)建對象的副本呢?答案是通過克隆對象。

<?phpclass 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)鍵概念。

class Employee { ...}class Executive extends Employee{ ...}class CEO extends Executive{ ...}

接口。接口是一些未實現(xiàn)的方法定義和常量的集合,相當于一種類藍本。接口只定義了類能做什么,而不涉及實現(xiàn)的細節(jié)。本章介紹PHP5對接口的支持,并提供了一些展示這個強大OOP特性的例子。

<?phpinterface 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);?>

抽象類。抽象類實質(zhì)上就是無法實例化的類。抽象類將由可實例化的類繼承,后者稱為具體類(concreate class)。抽象類可以完全實現(xiàn)、部分實現(xiàn)或者根本未實現(xiàn)。

abstract class Class_name{ //insert attribute definitions here //insert method definitions here}

命名空間。命名空間可根據(jù)上下文劃分各種庫和類,幫肋你更為有效地管理代碼庫。

<?phpnamespace Library;class Clean { function printClean() { echo "Clean..."; }}?><?phpinclude "test.php";$clean = new /Library/Clean();$clean->printClean();?>

如果你使用過其他面向?qū)ο笳Z言,可能會感到奇怪,為什么上述特性沒有包括其他語言中熟悉的一些OOP特性?原因很簡單,PHP不支持這些特性。為了讓你不再感到迷惑,下面列出PHP不支持的高級OOP特性。

  • 方法重載。PHP不支持通過函數(shù)重載實現(xiàn)多態(tài),根據(jù)Zend網(wǎng)站的討論,可能永遠都不會支持。要了解具體原因,可以查看http://www.zend.com/php/ask_experts.php
  • 操作符重載。目前不支持根據(jù)所修改數(shù)據(jù)的類型為操作符賦予新的含義。根據(jù)zend網(wǎng)站的討論,將來實現(xiàn)這個特性的可能性也不大。
  • 多重繼承。PHP不支持多重繼承。但是支持實現(xiàn)多個接口。


注:相關(guān)教程知識閱讀請移步到PHP教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 黄色网页在线看 | a级高清免费毛片av在线 | 中文在线观看免费视频 | 国产1区2| 精国产品一区二区三区 | 亚洲国产精品久久久 | 26uuu成人人网图片 | 国产噜噜噜噜久久久久久久久 | 韩国草草影院 | 色中色激情影院 | 欧美一级不卡视频 | 中文字幕涩涩久久乱小说 | 久久精品国产清自在天天线 | 久久9久久 | 91精品久久久久久久久网影视 | fc2成人免费人成在线观看播放 | 高清中文字幕在线 | 精品久久久91 | 亚洲成a人在线 | 日本一区二区视频在线观看 | 最新精品在线 | 九九热在线免费观看视频 | 国产亚洲精品视频中文字幕 | 91短视频网址 | 欧美日本综合 | 少妇一级淫片高潮流水电影 | 国产精品福利一区 | 91av久久 | av电影手机在线看 | 亚洲国产精品一区二区精品 | 激情综合视频 | 成人精品视频在线 | 羞羞网站在线看 | 免费网站看v片在线a | 日韩三级伦理在线观看 | 久久久久久中文字幕 | 一级尻逼视频 | 欧美另类视频在线 | 国产真实孩交 | 免费人成在线播放 | 日本网站在线看 |