2020年6月21日解決済み

processPost()でBasePost型にしているのはなぜですか?

ユーザー

お世話になっております。
以下のコードで質問があります。

function processPost(BasePost $post) 
{
  $post->show();
}

なぜ、processPostの引数の型をBasePost型にしたのでしょうか?

PostやSponsoredPost型であれば、抽象メソッドの中身が書かれているのでshowメソッドが実行されるということに違和感がありませんが、BasePostは抽象メソッドのままです。それでどうして、showメソッドがprocessPostの中で実行されるのでしょうか?

スタッフ

この回答を見るにはプレミアムプランへの登録が必要です

プレミアムプランとは?