欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

PHP類的使用 實(shí)例代碼講解

 更新時(shí)間:2009年12月28日 22:38:28   作者:  
用戶定義的類,也是學(xué)好 PHP 所必備的條件之一。而 PHP 的類,和其它的面向?qū)ο笳Z(yǔ)言比較起來(lái),還算蠻單純的。
PHP 只有類別 (class)、方法 (method)、屬性、以及單一繼承 (extensions) 等。對(duì)不習(xí)慣使用 C++、Java、Delphi 等面向?qū)ο笳Z(yǔ)言來(lái)開(kāi)發(fā)程序的用戶,不妨先閱讀一下有關(guān)面向?qū)ο蟾拍畹臅?shū),相信可以帶來(lái)許多的收獲。
下面的范例是手推車類??梢钥吹?,使用 class 表示它是一個(gè)類類別。在類別中的 function,例如 add_item 則表示該類的一個(gè)方法。方法可以封裝類的實(shí)際處理情形,讓該類自己能依封裝好的方法來(lái)執(zhí)行一些步驟。

程序中的 $this 類變量也和 $GLOBALS 及 $php_errormsg 兩個(gè)變量一樣,在 PHP 中屬于特殊的變量。$this 變量只用在類類別中,表示類的本身。
復(fù)制代碼 代碼如下:

<?php
// 程序名: cart.inc
class Cart {
var $items; // 手推車類

// 本方法加入 $num 件物品到手推車中 (加到 $artnr 變量)
function add_item ($artnr, $num) {
$this->items[$artnr] += $num;
}

// 本方法從手推車減少 $num 件物品 (從 $artnr 變量減掉)
function remove_item ($artnr, $num) {
if ($this->items[$artnr] > $num) {
$this->items[$artnr] -= $num;
return true;
} else {
return false;
}
}
}
?>


要使用手推車可以用類似下例的方式。可以先將每個(gè)類存成 Include 文件,再將它 require 或 include 進(jìn)來(lái)。在定義變量 $cart 時(shí),要使用 new 的保留字,表示 $cart 使用 Cart 類。使用 -> 符號(hào),表示執(zhí)行類的方法。
復(fù)制代碼 代碼如下:

<?php
require("cart.inc");
$cart = new Cart;
$cart->add_item("10", 1);
?>


之后再設(shè)計(jì)有記名的手推車。記名手推車從手推車遺傳下來(lái),因此手推車擁有的方法及屬性,記名手推車也有,而記名手推車比手推車增加了名字的方法 (或許該稱屬性較恰當(dāng))。

從下例中可以看到,子類 Named_Cart 使用 extends 來(lái)繼承其父類 Cart。雖然 Named_Cart 類中沒(méi)有增加物品及減少物品的方法,不過(guò)由于遺傳的特性,父類有的東西它都有。
復(fù)制代碼 代碼如下:

<?php
// 程序名: named_cart.inc
require("cart.inc");
class Named_Cart extends Cart {
var $owner;
function set_owner ($name) {
$this->owner = $name;
}
}
?>


要使用記名手推車類,請(qǐng)看下面的范例。當(dāng)然這不算太好的設(shè)計(jì),每個(gè)子類都一直 require 它的父類,會(huì)造成服務(wù)器在 I/O 上面的負(fù)擔(dān)。在實(shí)作時(shí),可以將整個(gè)系列的類在同一個(gè)程序文件中,從最早的袓先類到最后的子孫類,也方便日后修正。
復(fù)制代碼 代碼如下:

<?php
require("named_cart.inc");
$ncart = new Named_Cart; // 建立類變量
$ncart->set_owner ("CyberRidder"); // 配置類的記名屬性
echo $ncart->owner; // 顯示類的記名屬性
$ncart->add_item ("10", 1); // 從父類遺傳的方法也可使用
?>


因此,在 PHP 中使用了 extends 保留字,加上良好的系統(tǒng)分析與完整的 CRC 卡片 (詳見(jiàn)面向?qū)ο笙嚓P(guān)書(shū)籍) 設(shè)計(jì)之后,PHP 可變成擁有強(qiáng)大類能力的 CGI 語(yǔ)言。

PHP 由于是腳本語(yǔ)言 (Script),因此程序源代碼可見(jiàn),在軟件工程中的元件黑箱并不會(huì)在目前的 PHP 版本中出現(xiàn),也就是說(shuō),全部的類其實(shí)沒(méi)有隱藏起它的內(nèi)容。對(duì)于軟件業(yè)者而言,沒(méi)有辦法保護(hù)所謂的軟件 IC,站在開(kāi)放團(tuán)體而言,反而有源代碼是件好事,至于孰是孰非,就很難判定了,不過(guò)目前 PHP 還是 Open Source 團(tuán)體的一份子,或許日后 Zend 引擎可以做到類封裝的功能也不一定。

相關(guān)文章

  • 如何設(shè)置mysql允許外網(wǎng)訪問(wèn)

    如何設(shè)置mysql允許外網(wǎng)訪問(wèn)

    本篇文章是對(duì)設(shè)置mysql允許外網(wǎng)訪問(wèn)的解決方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • php隱藏IP地址后兩位顯示為星號(hào)的方法

    php隱藏IP地址后兩位顯示為星號(hào)的方法

    這篇文章主要介紹了php隱藏IP地址后兩位顯示為星號(hào)的方法,采用正則匹配的方法來(lái)實(shí)現(xiàn),是非常實(shí)用的技巧,需要的朋友可以參考下
    2014-11-11
  • SESSION存放在數(shù)據(jù)庫(kù)用法實(shí)例

    SESSION存放在數(shù)據(jù)庫(kù)用法實(shí)例

    這篇文章主要介紹了SESSION存放在數(shù)據(jù)庫(kù)用法,自定義了一個(gè)簡(jiǎn)單的針對(duì)數(shù)據(jù)操作的session類并給出了使用該類存儲(chǔ)到數(shù)據(jù)庫(kù)的相關(guān)技巧,需要的朋友可以參考下
    2015-08-08
  • PHP實(shí)現(xiàn)ftp上傳文件示例

    PHP實(shí)現(xiàn)ftp上傳文件示例

    這篇文章主要介紹了PHP實(shí)現(xiàn)ftp上傳文件的方法,是非常實(shí)用的技巧,需要的朋友可以參考下
    2014-08-08
  • php上的memcache和memcached兩個(gè)pecl庫(kù)

    php上的memcache和memcached兩個(gè)pecl庫(kù)

    一開(kāi)始就在疑惑為什么會(huì)有兩個(gè)庫(kù),且在php.net官方都有文檔支持。
    2010-03-03
  • PHP設(shè)計(jì)模式之原型模式示例詳解

    PHP設(shè)計(jì)模式之原型模式示例詳解

    這篇文章主要給大家介紹了關(guān)于PHP設(shè)計(jì)模式之原型模式的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • PHP實(shí)現(xiàn)的堆排序算法詳解

    PHP實(shí)現(xiàn)的堆排序算法詳解

    這篇文章主要介紹了PHP實(shí)現(xiàn)的堆排序算法,結(jié)合實(shí)例形式分析了php堆排序的原理、實(shí)現(xiàn)步驟與相關(guān)操作技巧,需要的朋友可以參考下
    2017-08-08
  • php實(shí)現(xiàn)水印文字和縮略圖的方法示例

    php實(shí)現(xiàn)水印文字和縮略圖的方法示例

    這篇文章主要介紹了php實(shí)現(xiàn)水印文字和縮略圖的方法,結(jié)合完整實(shí)例形式分析了php實(shí)現(xiàn)水印文字添加與縮略圖生成的相關(guān)步驟及操作技巧,需要的朋友可以參考下
    2016-12-12
  • PHP數(shù)組函數(shù)array_multisort()用法實(shí)例分析

    PHP數(shù)組函數(shù)array_multisort()用法實(shí)例分析

    這篇文章主要介紹了PHP數(shù)組函數(shù)array_multisort()用法,結(jié)合實(shí)例形式詳細(xì)分析了array_multisort函數(shù)的功能,定義及進(jìn)行數(shù)組排序過(guò)程中的使用技巧,需要的朋友可以參考下
    2016-04-04
  • PHP基于回溯算法解決n皇后問(wèn)題的方法示例

    PHP基于回溯算法解決n皇后問(wèn)題的方法示例

    這篇文章主要介紹了PHP基于回溯算法解決n皇后問(wèn)題的方法,結(jié)合實(shí)例形式分析了PHP基于回溯算法解決N皇后問(wèn)題的原理與具體實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2017-11-11

最新評(píng)論