PHP中的物件導向實踐-基本實踐案例

2020-07-16 10:05:54
PHP中的物件導向實踐-基本實踐

(一)、基本實踐

一、類的概念

548e5a3539c95154da88ba2d6bc8168.png

一、共同點:

都有相同的屬性

都有相同的方法

二、不同點:

具體的值是不一樣的

三、總結:他們都是一類的物件

說到類,現在來說說類的概念

1) 類定義

-我們說物以類聚,人以群分,把具有相似特性的物件歸類到一個類中

所以我們去看物件的時候,試著去對比他們的屬性和方法,如果他們的屬性和方法都很相似,我們就可以把他們歸到一類

-類定義了這些相似的物件都擁有相同的屬性和方法

舉例:一個NBA球員就是一個類的定義,它規定了只要是一個NBA球員,它就一定會具有:年齡,姓名,身高,體重,所在球隊,球員號碼

然後他們也會具有相同的技能:

72dd83a9bfa96ca7399325986ea571e.png

但是問題是,這個類裡面有定義具體的身高嗎,有具體的姓名嗎,有具體的體重嗎,都沒有,但是如果我們把這些屬性都寫上去以後,是不是就是成為了具體的一個物件

這就是類和物件的關係,具體點就是,類是相似物件的描述,這個稱之為類的定義,類是所有這些相似物件的藍圖或者原型

比如詹姆斯這個物件怎麼來的,就是把這個類的屬性值設定好就可以了

類的物件就是類的一個範例(Instance),這個操作也叫做類的範例化

比如詹姆斯,喬丹,科比都是NBA球員這個類的範例,範例的他們的這個過程就叫做類的範例化

類我們可以了解為,它就是一個空架子,它只是定義了物件怎麼分,而物件的話它就定義了,具體的值,必須要把所有的屬性值都寫具體才行

補充一個概念:我們把類的物件和方法都統稱為類成員

二、範例化的概念

1) 類的範例化定義

就是通過類建立一個具體的物件,這個過程就是類的範例化,相當於就是把這個空架子填滿

舉例:比如通過NBA球員這個類我們建立了詹姆斯,科比,喬丹,這其中就是把這個NBA球員類範例了3次

114579ede39441be89ebff8ee5c2f4e.png

總結:類只有一個,但是它可以被多次範例化,得到多個具體的物件

Tip:具體怎麼實現,我們之後會在程式碼裡進行具體的演示

2)類的範例化

2) 舉例:以喬丹為例

776672fd14c2a56bb5c54afb70e9003.png

左邊是類,沒有資料,右邊是喬丹,那麼要範例化它怎麼範例化呢,就是直接把這些姓名,身高,體重,所在球隊,球員號碼這些值填寫具體,那麼喬丹這個物件就範例出來了

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其它相關文章!