PHP5的訪問方式允許限制對(duì)類成員的訪問. 這是在PHP5中新增的功能,但在許多面向?qū)ο笳Z言中都早已存在. 有了訪問方式,才能開發(fā)一個(gè)可靠的面向?qū)ο髴?yīng)用程序,并且構(gòu)建可重用的面向?qū)ο箢?" /> 射久久,久久99国产精品久久99果冻传媒,91精品久久

中文字幕日韩一区二区_国产一区二区av_国产毛片av_久久久久国产一区_色婷婷电影_国产一区二区精品

第八節(jié) 訪問方式 [8]


php5的訪問方式允許限制對(duì)類成員的訪問. 這是在php5中新增的功能,但在許多面向?qū)ο笳Z言中都早已存在. 有了訪問方式,才能開發(fā)一個(gè)可靠的面向?qū)ο?a href=/pingce/yingyong/ target=_blank class=infotextkey>應(yīng)用程序,并且構(gòu)建可重用的面向?qū)ο箢悗?

像C++和Java一樣,php有三種訪問方式:public,private和protected. 對(duì)于一個(gè)類成員的訪問方式,可以是其中之一. 如果你沒有指明訪問方式,默認(rèn)地訪問方式為public. 你也可以為靜態(tài)成員指明一種訪問方式,將訪問方式放在static關(guān)鍵字之前(如public static).

Public成員可以被毫無限制地訪問.類外部的任何代碼都可以讀寫public屬性. 你可以從腳本的任何地方調(diào)用一個(gè)public方法. 在php的前幾個(gè)版本中,所有方法和屬性都是public, 這讓人覺得對(duì)象就像是結(jié)構(gòu)精巧的數(shù)組.

Private(私有)成員只在類的內(nèi)部可見. 你不能在一個(gè)private屬性所在的類方法之外改變或讀取它的值. 同樣地,只有在同一個(gè)類中的方法可以調(diào)用一個(gè)private方法. 繼承的子類也不能訪問父類中的private 成員.

要注意,類中的任何成員和類的實(shí)例都可以訪問private成員. 看例子6.8,equals方法將兩個(gè)widget進(jìn)行比較.==運(yùn)算符比較同一個(gè)類的兩個(gè)對(duì)象,但這個(gè)例子中每個(gè)對(duì)象實(shí)例都有唯一的ID.equals 方法只比較name和price. 注意equals方法如何訪問另一個(gè)Widget實(shí)例的private屬性. Java和C都允許這樣的操作.

Listing 6.8 Private members
<?php
class Widget
{
private $name;
private $price;
private $id;

public function __construct($name, $price)
{
$this->name = $name;
$this->price = floatval($price);
$this->id = uniqid();
}
//checks if two widgets are the same 檢查兩個(gè)widget是否相同
public function equals($widget)
{
return(($this->name == $widget->name)AND
($this->price == $widget->price));
}

$w1 = new Widget('Cog', 5.00);
$w2 = new Widget('Cog', 5.00);
$w3 = new Widget('Gear', 7.00);

//TRUE
if($w1->equals($w2))
{
print("w1 and w2 are the same<br>n");
}

//FALSE
if($w1->equals($w3))
{
print("w1 and w3 are the same<br>n");
}

//FALSE, == includes id in comparison
if($w1 == $w2) file://不等,因?yàn)镮D不同
{
print("w1 and w2 are the same<br>n");
}
?>  一個(gè)子類可能改變通過覆寫父類方法來改變方法的訪問方式,盡管如此,仍然有一些限制. 如果你覆寫了一個(gè)public類成員,他子類中必須保持public. 如果你覆寫了一個(gè)protected成員,它可保持protected或變成public.Private成員仍然只在當(dāng)前類中可見. 聲明一個(gè)與父類的private成員同名的成員將簡單地在當(dāng)前類中建立一個(gè)與原來不同的成員. 因此,在技術(shù)上你不能覆寫一個(gè)private成員.

Final關(guān)鍵字是限制訪問成員方法的另一個(gè)方法. 子類不能覆寫父類中標(biāo)識(shí)為final的方法. Final關(guān)鍵字不能用于屬性. //haohappy注:php5的面向?qū)ο竽P腿匀徊粔蛲晟?如final不像Java中那樣對(duì)Data,Method甚至Class都可以用。

php技術(shù)第八節(jié) 訪問方式 [8],轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 色久五月 | 秋霞a级毛片在线看 | 91视频精选 | 日本久久久一区二区三区 | 日韩精品在线播放 | 免费看91| 国产精品久久 | 日韩精品一区二区三区视频播放 | 国产在线激情视频 | 一级黄在线观看 | 中文字幕精品一区久久久久 | 国产成人精品一区二区三区四区 | 日韩欧美视频 | 亚洲在线看 | www.9191| 亚洲精品免费视频 | 中文在线一区二区 | 亚洲国产自产 | 无码日韩精品一区二区免费 | 一级做受毛片免费大片 | 亚洲一区二区三区福利 | 亚洲一区二区在线视频 | 欧美午夜激情在线 | 国产免费让你躁在线视频 | 亚洲免费观看视频网站 | 精品人伦一区二区三区蜜桃网站 | 国产日韩欧美二区 | 国产成人精品区一区二区不卡 | 日韩一级在线 | 精精国产视频 | 午夜一区| 337p日本欧洲亚洲大胆鲁鲁 | 国产精品久久久久久久久免费高清 | 日韩av中文| 国产精品一区在线 | 国产视频福利在线观看 | 自拍偷拍亚洲欧美 | 日韩精品一二三区 | 色嗨嗨| 日韩三级视频 | 欧美电影在线观看网站 |