プロパティやクラスの継承については利用シーンやメリットをイメージできるのですが、
オブジェクト型の継承は具体的なメリットが思いつかないため、もう少し詳しく教えていただけますでしょうか。
また、型付けに関しても「string型」や「int型」といったオブジェクト型以外の型については、
declareによる厳密な型指定によって不要な値を拒否したり、フォームの入力値のチェックなど、
具体例が想像できますが、オブジェクト型の型付けに関してはまだイメージがつきません。
たとえば、コードの39行目からの下記の箇所は、
function processPost(Post $post)
{
$post->show();
}
Post型を指定していますが、
あえて型を指定せず
function processPost($post)
{
$post->show();
}
としても処理結果は同じだったため、シンプルなコードにするために省略しても良いのではと考えてしまいました。
それとも「想定したオブジェクト型のみ許可し、それ以外は拒否する」といった状況があるのでしょうか。
たとえば、コードの39行目からの箇所を下記に変更するとエラーになりました。
function processPost(SponsoredPost $post)
{
$post->show();
}
動画の説明に「クラスを継承したクラスをたくさん作ったとしても、こちらのコードを変更することなく、まとめて処理することができるというメリットがあります。」とありますが、もう少し具体例を教えていただけると大変助かります。
この回答を見るにはプレミアムプランへの登録が必要です
プレミアムプランとは?