2025-03-24

先解釋一下多態:php面向對象的多態就是指通過一個抽象類或者接口定義出子類所實現的方法,之後在一個函數或者類的方法中傳入之前定義的每個子類實例化後的對象名,通過調用新的類中同一個的方法(由於參數不同)實現不同對象不同的執行邏輯.(自己的理解,非官方).

    下面在一個例子:

    

<?php 

    //定義父類接口

interface Person{

function getName();

function getAge();

}

 

    //第一個子類

class Phper implements Person{

public function getName()

{

echo 'this is php\'getName';

}

public function getAge()

{

echo 'this is php\'getAge';

}

}

    //第二個子類

class Javaer implements Person{

public function getName()

{

echo 'this is jave\'getName';

}

public function getAge()

{

echo 'this is java\'getAge';

}

}

 

    //一個全新的類

class my{

function isMy($obj)//這裡的參數是個對象名稱

{

$obj->getName();

echo "<br>";

$obj->getAge();

}

}

    //分別實例化之前的幾個類

$php  = new Phper;

$java = new Javaer;

$my   = new My;

 

$my->isMy($java);//通過傳入不同的對象的名稱,執行不同的業務邏輯

 ?>

 

    如果你要問我這個東西有什麼用呢,那我隻能說可能在對代碼的規范,以及理解上有一些幫助.其他的我也不清楚.因為實際工作的過程中我也沒有碰到過應用多態的場景.

 

    希望博友有新的見解或者比較好的案例可以在評論中給出解釋或者鏈接.

 

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *