エンジニアのひよこ_level10

毎日更新してた人。たまに記事書きます。

【PHP】多態性(ポリモーフィズム)について勉強中【162日目】

元となる抽象クラス

<?php
abstract class baseClass
{
    abstract public function action();
}

継承先のクラス2つ

class ringoClass extends baseClass
{
    public function action() 
    {
        echo '私はりんごだよ';
    }
}
class orangeClass extends baseClass
{
    public function action() 
    {
        echo '私はオレンジだよ';
    }
}

動作させるコード

$r_class = new ringoClass;
$o_class = new orangeClass;

$r_class->action();
$o_class->action();

同じクラスを継承して、『同名のクラスを持つけど、別の動作してる』って話・・・?

Javaだと、$r_classと$o_classをbaseClass型で受け取るから、イメージがついた感じしたけど、
PHPで作ってみて、ポリモーフィズムがますますわからなくなった・・・