最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2015年11月27日 15:51:58   投稿:goldensun  
這篇文章主要以實例簡單介紹了PHP的一些高級面向對象編程的特性,包括在Java等OOP語言中所經常見到的接口和抽象類等,需要的朋友可以參考下

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

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

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

繼承。如前面所述,通過繼承來構建類層次體系是OOP的關鍵概念。

class Employee {
 ...
}

class Executive extends Employee{
 ...
}

class CEO extends Executive{
 ...
}

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

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

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

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

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

<?php
namespace Library;
class Clean {
 function printClean() {
 echo "Clean...";
 }
}
?>

<?php
include "test.php";
$clean = new \Library\Clean();
$clean->printClean();
?>

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

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

相關文章

  • PHP 存儲文本換行實現(xiàn)方法

    PHP 存儲文本換行實現(xiàn)方法

    在文本存儲時使用\n如果發(fā)現(xiàn)沒有效果, 這時可以使用\r\n就可以了,希望對有需要的朋友有所幫助。
    2010-01-01
  • 9個經典的PHP代碼片段分享

    9個經典的PHP代碼片段分享

    這篇文章主要給大家分享了9個經典的PHP代碼片段,都是非常實用,也是經常能夠用到的功能,推薦給大家。
    2014-12-12
  • 隊列在編程中的實際應用(php)

    隊列在編程中的實際應用(php)

    隊列(Queue)是運算受到限制的一種線性表。只允許在表的一端進行插入,而在另一端進行刪除元素的線性表。隊尾(rear)是允許插入的一端。隊頭(front)是允許刪除的一端??贞犃惺遣缓氐目毡?。
    2010-09-09
  • PHP 自動加載類原理與用法實例分析

    PHP 自動加載類原理與用法實例分析

    這篇文章主要介紹了PHP 自動加載類原理與用法,結合具體實例形式分析了PHP 自動加載類基本概念、原理、使用方法及操作注意事項,需要的朋友可以參考下
    2020-04-04
  • PHP數(shù)據(jù)庫操作三:redis用法分析

    PHP數(shù)據(jù)庫操作三:redis用法分析

    這篇文章主要介紹了PHP數(shù)據(jù)庫操作redis用法,結合實例形式詳細分析了php安裝、使用redis的步驟、方法與相關注意事項,需要的朋友可以參考下
    2017-08-08
  • php獲取給定日期相差天數(shù)的方法分析

    php獲取給定日期相差天數(shù)的方法分析

    這篇文章主要介紹了php獲取給定日期相差天數(shù)的方法,結合具體實例形式分析了2種日期相差天數(shù)的計算方法,涉及php日期字符串轉換的相關操作技巧,需要的朋友可以參考下
    2017-02-02
  • php使用json-schema模塊實現(xiàn)json校驗示例

    php使用json-schema模塊實現(xiàn)json校驗示例

    這篇文章主要介紹了php使用json-schema模塊實現(xiàn)json校驗,結合實例形式分析了json-schema模塊的安裝及使用json-schema模塊進行json校驗的相關操作技巧,需要的朋友可以參考下
    2019-09-09
  • php在項目中尋找代碼的壞味道(綜藝命名)

    php在項目中尋找代碼的壞味道(綜藝命名)

    今天想給綜藝頻道添加一些內容,但是綜藝這個詞太難伺候了(主要是我的英文不是太好)。我把整個命名過程摘錄如下
    2012-07-07
  • PHP如何實現(xiàn)HTTP驗證

    PHP如何實現(xiàn)HTTP驗證

    這篇文章主要介紹了PHP如何實現(xiàn)HTTP驗證,幫助大家更好的理解和學習使用PHP,感興趣的朋友可以了解下
    2021-04-04
  • php自定義函數(shù)實現(xiàn)二維數(shù)組按指定key排序的方法

    php自定義函數(shù)實現(xiàn)二維數(shù)組按指定key排序的方法

    這篇文章主要介紹了php自定義函數(shù)實現(xiàn)二維數(shù)組按指定key排序的方法,通過自定義函數(shù)實現(xiàn)二維數(shù)組按照指定鍵值進行排序的功能,涉及數(shù)組的遍歷與判定相關操作技巧,需要的朋友可以參考下
    2016-09-09

最新評論

海兴县| 资源县| 河西区| 大冶市| 方山县| 都昌县| 榆中县| 永昌县| 县级市| 虎林市| 长治县| 安平县| 岳池县| 兰考县| 上虞市| 稷山县| 南溪县| 崇仁县| 伊金霍洛旗| 威信县| 余干县| 周至县| 高邮市| 鹿邑县| 虹口区| 金川县| 阿坝县| 疏勒县| 澄城县| 蒲城县| 宜兰县| 准格尔旗| 肇州县| 齐齐哈尔市| 武鸣县| 汉源县| 高要市| 工布江达县| 建阳市| 鲜城| 揭西县|