《PHP實戰:php學習筆記之面向對象》要點:
本文介紹了PHP實戰:php學習筆記之面向對象,希望對您有用。如果有疑問,可以聯系我們。
PHP實戰public?? 公有的:本類,子類,外部對象都可以調用
protected 受掩護的:本類 子類,可以執行,外部對象不可以調用
private 私有的:只能本類執行,子類與外部對象都不可調用
面向對象編程的三大特點
PHP實戰1)關閉性
PHP實戰封閉性,也可以稱為信息暗藏.就是將一個類的使用和實現分開,只保留有限的接口(方法)與外部聯系.對于用到該類的開發人員,只要知道這個類如何使用即可,而不用去關心這個類是如何實現的.這樣做可以讓開發人員更好地把精力集中起來專注別的事情,同時也避免了程序之間的相互依賴而帶來的不便.
PHP實戰2)承繼性
PHP實戰繼承性就是派生類(子類)自動繼承一個或多個基類(父類)中的屬性與辦法,并可以重寫或添加新的屬性和辦法.繼承這個特性簡化了對象和類的創建,增加了代碼的可重性.繼承分單繼承和多繼承,PHP所支持的是單繼承,也就是說,一個子類有且只有一個父類.
PHP實戰3)多態性
PHP實戰多態性是指同一個類的不同對象,使用同一個辦法可以獲得不同的結果,這種技術稱為多態性.多態性增強了軟件的靈活性和重用性.
PHP實戰類的界說
PHP實戰一個類可以包含有屬于自己的常量,變量(稱為“屬性”)以及函數(稱為“辦法”).
和很多面向對象的語言一樣,PHP也是通過class關鍵字加類名來定義類的.類的格式如下:
PHP實戰定義:物以類聚,把具有相似特性的對象歸到一個類中,類定義了這些相似對象擁有的相同屬性和辦法.類是相似對象的描述,稱為類的定義,是該類對象的藍圖或原型.
PHP實戰類的對象稱為類的一個實例.要創建一個類的實例,必需使用 new 關鍵字.
001ZpQGYty6MeYnSNUh25&690
PHP實戰??????? //定義辦法
??? public function run(){
??????? echo "Running\n";
??? }
??? public function dribblr(){
??????? echo "Dribbling\n";
??? }
??? public function pass(){
??????? echo "Passing\n";
??? }
}
??? //類到對象的實例化
??? //類的實例化為對象時使用關鍵字new,new之后緊跟類的名稱和一對括號
??? $jordan = new NbaPlayer();?
PHP實戰??? //對象中的屬性成員可以通過"->"符號來拜訪
??? echo $jordan->name."\n";
PHP實戰??? //對象中的成員方法可以通過"->"符號來拜訪
??? $jordan->dribble();
??? $jordan->run();
?>
PHP實戰成員辦法
PHP實戰類中的函數被稱為成員辦法.函數和成員辦法唯一的區別就是,函數實現的是某個獨立的功能,而成員辦法是實現類中的一個行為,是類的一部分.
下面就來擴充上面的myobject類,為它添加一個成員辦法,代碼如下:
PHP實戰該辦法的作用是輸出商品名稱,商品名稱是通過辦法的參數傳進來的.
類是一個抽象的描述,是功能相似的一組對象的集合.如果想用到類中的辦法和變量,首先就要把它具體落實到一個實體,也就是對象上.
PHP實戰類常量
既然有變量,當然也會有常量了.常量便是不會改變的量,是一個恒值.眾所周知的一個常量便是圓周率Pi.定義常量使用關鍵字const如:
ConstPI=3.14159;
PHP實戰構造函數
PHP實戰PHP 5 允行開發者在一個類中定義一個辦法作為構造函數.具有構造函數的類會在每次創建新對象時先調用此辦法,所以非常適合在使用對象之前做一些初始化工作.
PHP實戰??????? //構造函數,在對象被實例化的時候自動調用
??????? function __construct($name,$height,$weight,$team){
??????????? echo "It is an? NbaPlayer constructor\n";
??????????? $this->name = $name;
??????????? //$this是PHP里面的偽變量,表示對象自身.可以通過$this->的方式拜訪對象的屬性和方法
??????????? $this->height = $height;
??????????? $this->weight = $weight;
??????????? $this->team = $team;
??????? }
PHP實戰??????? //定義辦法
??? public function run(){
??????? echo "Running\n";
??? }
??? public function dribblr(){
??????? echo "Dribbling\n";
??? }
??? public function pass(){
??????? echo "Passing\n";
??? }
}
??? //類到對象的實例化
??? //類的實例化為對象時使用關鍵字new,new之后緊跟類的名稱和一對括號
??? $jordan = new NbaPlayer("Jordan","198cm","98kg","Bull");???
PHP實戰??? //對象中的屬性成員可以通過"->"符號來拜訪
??? echo $jordan->name."\n";
PHP實戰??? //對象中的成員方法可以通過"->"符號來拜訪
??? $jordan->dribble();
??? $jordan->run();
PHP實戰??? //每一次用new實例化對象的時候,都會用類名后面的參數列表挪用構造函數
??? $james = new NbaPlayer("James","203cm","120kg","Heat")
??? echo $james->name."\n";
?>
PHP實戰析構函數
PHP實戰析構函數會在到某個對象的所有引用都被刪除或者當對象被顯式銷毀時執行.
PHP實戰工具的引用
PHP實戰??????? //構造函數,在對象被實例化的時候自動調用
??????? function __construct($name,$height,$weight,$team){
??????????? echo "It is an? NbaPlayer constructor\n";
??????????? $this->name = $name;
??????????? //$this是PHP里面的偽變量,表示對象自身.可以通過$this->的方式拜訪對象的屬性和方法
??????????? $this->height = $height;
??????????? $this->weight = $weight;
??????????? $this->team = $team;
??????? }
PHP實戰??????? //析構函數,在程序執行結束的時候會自動調用
??????? //析構函數通常被用于清理程序使用的資源.好比程序使用了打印機,那么可以再析構函數里面釋放打印機資源
??????? function __destruct(){
??????????? echo "Destroying".$this->name."\n";
??????? }
PHP實戰??????? //定義辦法
??? public function run(){
??????? echo "Running\n";
??? }
??? public function dribblr(){
??????? echo "Dribbling\n";
??? }
??? public function pass(){
??????? echo "Passing\n";
??? }
}
??? //類到對象的實例化
??? //類的實例化為對象時使用關鍵字new,new之后緊跟類的名稱和一對括號
??? $jordan = new NbaPlayer("Jordan","198cm","98kg","Bull");???
PHP實戰??? //對象中的屬性成員可以通過"->"符號來拜訪
??? echo $jordan->name."\n";
PHP實戰??? //對象中的成員方法可以通過"->"符號來拜訪
??? $jordan->dribble();
??? $jordan->run();
PHP實戰??? //每一次用new實例化對象的時候,都會用類名后面的參數列表挪用構造函數
??? $james = new NbaPlayer("James","203cm","120kg","Heat")
??? echo $james->name."\n";
PHP實戰??? //對象的引用用于拜訪對象的屬性和方法,$james,$james1和$james2都是對象的引用
??? //$james和$james1是對象的兩個獨立引用
??? //$james2是$james的影子,使用對象的同一個引用,任何一個賦值為null相當于刪除了同一個引用
??? $james1 = $james;
??? $james2 = &$james
PHP實戰??? $james = null;
??? echo "from now on James will not be used.\n"
必修>
《PHP實戰:php學習筆記之面向對象》是否對您有啟發,歡迎查看更多與《PHP實戰:php學習筆記之面向對象》相關教程,學精學透。維易PHP學院為您提供精彩教程。