【週刊ドットインストール】 考える力を養うための新クラス『データで学ぶアルゴリズム』を256timesでリリース!
お世話になっております。 以下のコードで質問があります。
function processPost(BasePost $post) { $post->show(); }
なぜ、processPostの引数の型をBasePost型にしたのでしょうか?
PostやSponsoredPost型であれば、抽象メソッドの中身が書かれているのでshowメソッドが実行されるということに違和感がありませんが、BasePostは抽象メソッドのままです。それでどうして、showメソッドがprocessPostの中で実行されるのでしょうか?
ドットインストールは、3分動画でマスターできるプログラミング学習サービスです。
3分で気軽に学習でき、スマートフォンからも視聴可能です。ホームページやWebサービスの制作を通して、実践的にプログラミングを学べます。
他にも、ゲーム制作やデータ分析・機械学習・AIに使われる言語まで幅広くカバー。学びたい分野のレッスンがきっと見つかります。
この回答を見るにはプレミアムプランへの登録が必要です
お世話になっております。
以下のコードで質問があります。
なぜ、processPostの引数の型をBasePost型にしたのでしょうか?
PostやSponsoredPost型であれば、抽象メソッドの中身が書かれているのでshowメソッドが実行されるということに違和感がありませんが、BasePostは抽象メソッドのままです。それでどうして、showメソッドがprocessPostの中で実行されるのでしょうか?