(一)、基本實踐
一、類的概念
一、共同點:
都有相同的屬性
都有相同的方法
二、不同點:
具體的值是不一樣的
三、總結:他們都是一類的物件
說到類,現在來說說類的概念
1) 類定義
-我們說物以類聚,人以群分,把具有相似特性的物件歸類到一個類中
所以我們去看物件的時候,試著去對比他們的屬性和方法,如果他們的屬性和方法都很相似,我們就可以把他們歸到一類
-類定義了這些相似的物件都擁有相同的屬性和方法
舉例:一個NBA球員就是一個類的定義,它規定了只要是一個NBA球員,它就一定會具有:年齡,姓名,身高,體重,所在球隊,球員號碼
然後他們也會具有相同的技能:
但是問題是,這個類裡面有定義具體的身高嗎,有具體的姓名嗎,有具體的體重嗎,都沒有,但是如果我們把這些屬性都寫上去以後,是不是就是成為了具體的一個物件
這就是類和物件的關係,具體點就是,類是相似物件的描述,這個稱之為類的定義,類是所有這些相似物件的藍圖或者原型
比如詹姆斯這個物件怎麼來的,就是把這個類的屬性值設定好就可以了
類的物件就是類的一個範例(Instance)
,這個操作也叫做類的範例化
比如詹姆斯,喬丹,科比都是NBA球員這個類的範例,範例的他們的這個過程就叫做類的範例化
類我們可以了解為,它就是一個空架子,它只是定義了物件怎麼分,而物件的話它就定義了,具體的值,必須要把所有的屬性值都寫具體才行
補充一個概念:我們把類的物件和方法都統稱為類成員
二、範例化的概念
1) 類的範例化定義
就是通過類建立一個具體的物件,這個過程就是類的範例化,相當於就是把這個空架子填滿
舉例:比如通過NBA球員這個類我們建立了詹姆斯,科比,喬丹,這其中就是把這個NBA球員類範例了3次
總結:類只有一個,但是它可以被多次範例化,得到多個具體的物件
Tip:具體怎麼實現,我們之後會在程式碼裡進行具體的演示
2)類的範例化
2) 舉例:以喬丹為例
左邊是類,沒有資料,右邊是喬丹,那麼要範例化它怎麼範例化呢,就是直接把這些姓名,身高,體重,所在球隊,球員號碼這些值填寫具體,那麼喬丹這個物件就範例出來了
Tip:範例化,可以理解為 將類 化作成一個實際的例子
三、具體案例
1) 案例學習目標
1. 如何定義一個類
2. 如何範例化一個類
3. 如何呼叫類的屬性和方法
2) 具體見以下程式碼
<?php /*** * 案例目標: * 1.類的定義 * 2.類的範例化 * 3.屬性的賦值 * 4.方法的呼叫 * */ /***定義一個類,類的名字叫NbaPlayer(中文=NBA球員) * 提示: * 1.定義類的過程:我們首先以class開始,然後寫上類 名稱:NbaPlayer,最後要寫上一對{} * 2.類的名字通常首字母要大寫 * 3 * ***/ class NbaPlayer{ //定義屬性 public $name = ""; public $height = ""; public $weight = ""; public $team = ""; public $playerName = ""; //定義方法 //定義跑的方法 //提示: //方法定義的過程: //1.寫上方法的型別,public,表示公共的方法,可以被外部直接呼叫 //2.寫上function //3.定義方法的名稱,然後寫上一對(),最後{}結尾 //總結: //方法定義和之前js中函數的定義是一樣的,只是類中的方法多了一個public public function run(){ //裡面的程式碼我們稱之為業務邏輯 echo "跑步<br/>"; } //定義跳躍方法 public function jump(){ echo "跳躍<br/>"; } //定義運球方法 public function dribble(){ echo "運球<br/>"; } //定義投籃的方法 public function shoot(){ echo "投籃<br/>"; } //定義扣籃方法 public function dunk(){ echo "扣籃<br/>"; } //定義傳球 public function pass(){ echo "傳球<br/>"; } } //類到物件的範例化 /*總結: 1、類的範例化過程= 通過new 類名() 即可完成一個類的範例化過程 */ //1.建立喬丹 $jordan = new NbaPlayer();//類的範例化 //類賦值 $jordan->name = "喬丹"; $jordan->height = "1.98米"; $jordan->weight = "98公斤"; $jordan->team = "公牛"; $jordan->playerName = "23"; //輸出物件值 print_r("喬丹名稱:".$jordan->name."<br/>"); print_r("喬丹身高:".$jordan->height."<br/>"); //總結:通過->可以呼叫物件裡的屬性 echo "<br/>"; //輸出物件方法 $jordan->dribble(); $jordan->pass(); //總結:通過->符號可以呼叫物件的方法 ?>
以上就是PHP中的物件導向實踐-基本實踐案例的詳細內容,更多請關注TW511.COM其它相關文章!