|
獨(dú)特的語法混合了C、Java、Perl以及PHP自創(chuàng)的語法。它可以比CGI或者Perl更快速地執(zhí)行動(dòng)態(tài)網(wǎng)頁(yè)。以下是為大家搜索整理的php面向?qū)ο蟮某绦蛟O(shè)計(jì), 希望能給大家?guī)韼椭?更多精彩內(nèi)容請(qǐng)及時(shí)關(guān)注我們網(wǎng)! public 公有的:本類,子類,外部對(duì)象都可以調(diào)用 protected 受保護(hù)的:本類 子類,可以執(zhí)行,外部對(duì)象不可以調(diào)用 private 私有的:只能本類執(zhí)行,子類與外部對(duì)象都不可調(diào)用 面向?qū)ο缶幊痰娜筇攸c(diǎn) 1)封閉性 封閉性,也可以稱為信息隱藏。就是將一個(gè)類的使用和實(shí)現(xiàn)分開,只保留有限的接口(方法)與外部聯(lián)系。對(duì)于用到該類的開發(fā)人員,只要知道這個(gè)類如何使用即可,而不用去關(guān)心這個(gè)類是如何實(shí)現(xiàn)的。這樣做可以讓開發(fā)人員更好地把精力集中起來專注別的事情,同時(shí)也避免了程序之間的相互依賴而帶來的不便。 2)繼承性 繼承性就是派生類(子類)自動(dòng)繼承一個(gè)或多個(gè)基類(父類)中的屬性與方法,并可以重寫或添加新的屬性和方法。繼承這個(gè)特性簡(jiǎn)化了對(duì)象和類的創(chuàng)建,增加了代碼的可重性。繼承分單繼承和多繼承,PHP所支持的是單繼承,也就是說,一個(gè)子類有且只有一個(gè)父類。 3)多態(tài)性 多態(tài)性是指同一個(gè)類的不同對(duì)象,使用同一個(gè)方法可以獲得不同的結(jié)果,這種技術(shù)稱為多態(tài)性。多態(tài)性增強(qiáng)了軟件的靈活性和重用性。 類的定義 一個(gè)類可以包含有屬于自己的常量,變量(稱為“屬性”)以及函數(shù)(稱為“方法”)。 和很多面向?qū)ο蟮恼Z言一樣,PHP也是通過class關(guān)鍵字加類名來定義類的。類的格式如下: Class myobject{ //…… } ?> 定義:物以類聚,把具有相似特性的對(duì)象歸到一個(gè)類中,類定義了這些相似對(duì)象擁有的相同屬性和方法。類是相似對(duì)象的描述,稱為類的定義,是該類對(duì)象的藍(lán)圖或原型。 類的對(duì)象稱為類的一個(gè)實(shí)例。要?jiǎng)?chuàng)建一個(gè)類的實(shí)例,必須使用 new 關(guān)鍵字。 001ZpQGYty6MeYnSNUh25&690 //類的定義以關(guān)鍵字class開始,類的命名通常以每個(gè)單詞第一個(gè)字母大寫 class NbaPlayer{ public $name = "Jordan"; //定義屬性 public $height = "198cm"; public $team = "Bull"; public $playerNumber = "23"; //定義方法 public function run(){ echo "Running
"; } public function dribblr(){ echo "Dribbling
"; } public function pass(){ echo "Passing
"; } } //類到對(duì)象的實(shí)例化 //類的實(shí)例化為對(duì)象時(shí)使用關(guān)鍵字new,new之后緊跟類的名稱和一對(duì)括號(hào) $jordan = new NbaPlayer(); //對(duì)象中的屬性成員可以通過"->"符號(hào)來訪問 echo $jordan->name."
"; //對(duì)象中的成員方法可以通過"->"符號(hào)來訪問 $jordan->dribble(); $jordan->run(); ?> 成員方法 類中的函數(shù)被稱為成員方法。函數(shù)和成員方法唯一的區(qū)別就是,函數(shù)實(shí)現(xiàn)的是某個(gè)獨(dú)立的功能,而成員方法是實(shí)現(xiàn)類中的一個(gè)行為,是類的一部分。 下面就來擴(kuò)充上面的myobject類,為它添加一個(gè)成員方法,代碼如下: classmyobject{ function getobjectname($name){ echo "商品名稱為:".$name; } } ?> 該方法的作用是輸出商品名稱,商品名稱是通過方法的參數(shù)傳進(jìn)來的。 類是一個(gè)抽象的描述,是功能相似的一組對(duì)象的集合。如果想用到類中的方法和變量,首先就要把它具體落實(shí)到一個(gè)實(shí)體,也就是對(duì)象上。 類常量 既然有變量,當(dāng)然也會(huì)有常量了。常量就是不會(huì)改變的量,是一個(gè)恒值。眾所周知的一個(gè)常量就是圓周率Pi。定義常量使用關(guān)鍵字const如: ConstPI=3.14159; 構(gòu)造函數(shù) PHP 5 允行開發(fā)者在一個(gè)類中定義一個(gè)方法作為構(gòu)造函數(shù)。具有構(gòu)造函數(shù)的類會(huì)在每次創(chuàng)建新對(duì)象時(shí)先調(diào)用此方法,所以非常適合在使用對(duì)象之前做一些初始化工作。 //類的定義以關(guān)鍵字class開始,類的命名通常以每個(gè)單詞第一個(gè)字母大寫 class NbaPlayer{ public $name = "Jordan"; //定義屬性 public $height = "198cm"; public $team = "Bull"; public $playerNumber = "23"; //構(gòu)造函數(shù),在對(duì)象被實(shí)例化的時(shí)候自動(dòng)調(diào)用 function __construct($name,$height,$weight,$team){ echo "It is an NbaPlayer constructor
"; $this->name = $name; //$this是PHP里面的偽變量,表示對(duì)象自身??梢酝ㄟ^$this->的方式訪問對(duì)象的屬性和方法 $this->height = $height; $this->weight = $weight; $this->team = $team; } //定義方法 public function run(){ echo "Running
"; } public function dribblr(){ echo "Dribbling
"; } public function pass(){ echo "Passing
"; } } //類到對(duì)象的實(shí)例化 //類的實(shí)例化為對(duì)象時(shí)使用關(guān)鍵字new,new之后緊跟類的名稱和一對(duì)括號(hào) $jordan = new NbaPlayer("Jordan","198cm","98kg","Bull"); //對(duì)象中的屬性成員可以通過"->"符號(hào)來訪問 echo $jordan->name."
"; //對(duì)象中的成員方法可以通過"->"符號(hào)來訪問 $jordan->dribble(); $jordan->run(); //每一次用new實(shí)例化對(duì)象的時(shí)候,都會(huì)用類名后面的參數(shù)列表調(diào)用構(gòu)造函數(shù) $james = new NbaPlayer("James","203cm","120kg","Heat") echo $james->name."
"; ?> 析構(gòu)函數(shù) //類的定義以關(guān)鍵字class開始,類的命名通常以每個(gè)單詞第一個(gè)字母大寫 class NbaPlayer{ public $name = "Jordan"; //定義屬性 public $height = "198cm"; public $team = "Bull"; public $playerNumber = "23"; //構(gòu)造函數(shù),在對(duì)象被實(shí)例化的時(shí)候自動(dòng)調(diào)用 function __construct($name,$height,$weight,$team){ echo "It is an NbaPlayer constructor
"; $this->name = $name; //$this是PHP里面的偽變量,表示對(duì)象自身??梢酝ㄟ^$this->的方式訪問對(duì)象的屬性和方法 $this->height = $height; $this->weight = $weight; $this->team = $team; } //析構(gòu)函數(shù),在程序執(zhí)行結(jié)束的時(shí)候會(huì)自動(dòng)調(diào)用 //析構(gòu)函數(shù)通常被用于清理程序使用的資源。比如程序使用了打印機(jī),那么可以再析構(gòu)函數(shù)里面釋放打印機(jī)資源 function __destruct(){ echo "Destroying".$this->name."
"; } //定義方法 public function run(){ echo "Running
"; } public function dribblr(){ echo "Dribbling
"; } public function pass(){ echo "Passing
"; } } //類到對(duì)象的實(shí)例化 //類的實(shí)例化為對(duì)象時(shí)使用關(guān)鍵字new,new之后緊跟類的名稱和一對(duì)括號(hào) $jordan = new NbaPlayer("Jordan","198cm","98kg","Bull"); //對(duì)象中的屬性成員可以通過"->"符號(hào)來訪問 echo $jordan->name."
"; //對(duì)象中的成員方法可以通過"->"符號(hào)來訪問 $jordan->dribble(); $jordan->run(); //每一次用new實(shí)例化對(duì)象的時(shí)候,都會(huì)用類名后面的參數(shù)列表調(diào)用構(gòu)造函數(shù) $james = new NbaPlayer("James","203cm","120kg","Heat") echo $james->name."
"; //通過把變量設(shè)為null,可以觸發(fā)析構(gòu)函數(shù)的調(diào)用 //當(dāng)對(duì)象不再使用的時(shí)候會(huì)觸發(fā)析構(gòu)函數(shù) $james = null; echo "from now on James will not be used.
" ?> 析構(gòu)函數(shù)會(huì)在到某個(gè)對(duì)象的所有引用都被刪除或者當(dāng)對(duì)象被顯式銷毀時(shí)執(zhí)行。 對(duì)象的引用 //類的定義以關(guān)鍵字class開始,類的命名通常以每個(gè)單詞第一個(gè)字母大寫 class NbaPlayer{ public $name = "Jordan"; //定義屬性 public $height = "198cm"; public $team = "Bull"; public $playerNumber = "23"; //構(gòu)造函數(shù),在對(duì)象被實(shí)例化的時(shí)候自動(dòng)調(diào)用 function __construct($name,$height,$weight,$team){ echo "It is an NbaPlayer constructor
"; $this->name = $name; //$this是PHP里面的偽變量,表示對(duì)象自身??梢酝ㄟ^$this->的方式訪問對(duì)象的屬性和方法 $this->height = $height; $this->weight = $weight; $this->team = $team; } //析構(gòu)函數(shù),在程序執(zhí)行結(jié)束的時(shí)候會(huì)自動(dòng)調(diào)用 //析構(gòu)函數(shù)通常被用于清理程序使用的資源。比如程序使用了打印機(jī),那么可以再析構(gòu)函數(shù)里面釋放打印機(jī)資源 function __destruct(){ echo "Destroying".$this->name."
"; } //定義方法 public function run(){ echo "Running
"; } public function dribblr(){ echo "Dribbling
"; } public function pass(){ echo "Passing
"; } } //類到對(duì)象的實(shí)例化 //類的實(shí)例化為對(duì)象時(shí)使用關(guān)鍵字new,new之后緊跟類的名稱和一對(duì)括號(hào) $jordan = new NbaPlayer("Jordan","198cm","98kg","Bull"); //對(duì)象中的屬性成員可以通過"->"符號(hào)來訪問 echo $jordan->name."
"; //對(duì)象中的成員方法可以通過"->"符號(hào)來訪問 $jordan->dribble(); $jordan->run(); //每一次用new實(shí)例化對(duì)象的時(shí)候,都會(huì)用類名后面的參數(shù)列表調(diào)用構(gòu)造函數(shù) $james = new NbaPlayer("James","203cm","120kg","Heat") echo $james->name."
"; //對(duì)象的引用用于訪問對(duì)象的屬性和方法,$james,$james1和$james2都是對(duì)象的引用 //$james和$james1是對(duì)象的兩個(gè)獨(dú)立引用 //$james2是$james的影子,使用對(duì)象的同一個(gè)引用,任何一個(gè)賦值為null相當(dāng)于刪除了同一個(gè)引用 $james1 = $james; $james2 = &$james $james = null; echo "from now on James will not be used.
" ?>
信息發(fā)布:廣州名易軟件有限公司 http://www.jetlc.com
|