【週刊ドットインストール】 考える力を養うための新クラス『データで学ぶアルゴリズム』を256timesでリリース!
プロパティやクラスの継承については利用シーンやメリットをイメージできるのですが、 オブジェクト型の継承は具体的なメリットが思いつかないため、もう少し詳しく教えていただけますでしょうか。
また、型付けに関しても「string型」や「int型」といったオブジェクト型以外の型については、 declareによる厳密な型指定によって不要な値を拒否したり、フォームの入力値のチェックなど、 具体例が想像できますが、オブジェクト型の型付けに関してはまだイメージがつきません。
たとえば、コードの39行目からの下記の箇所は、
function processPost(Post $post) { $post->show(); }
Post型を指定していますが、 あえて型を指定せず
function processPost($post) { $post->show(); }
としても処理結果は同じだったため、シンプルなコードにするために省略しても良いのではと考えてしまいました。
それとも「想定したオブジェクト型のみ許可し、それ以外は拒否する」といった状況があるのでしょうか。 たとえば、コードの39行目からの箇所を下記に変更するとエラーになりました。
function processPost(SponsoredPost $post) { $post->show(); }
動画の説明に「クラスを継承したクラスをたくさん作ったとしても、こちらのコードを変更することなく、まとめて処理することができるというメリットがあります。」とありますが、もう少し具体例を教えていただけると大変助かります。
ドットインストールは、3分動画でマスターできるプログラミング学習サービスです。
3分で気軽に学習でき、スマートフォンからも視聴可能です。ホームページやWebサービスの制作を通して、実践的にプログラミングを学べます。
他にも、ゲーム制作やデータ分析・機械学習・AIに使われる言語まで幅広くカバー。学びたい分野のレッスンがきっと見つかります。
この回答を見るにはプレミアムプランへの登録が必要です
プロパティやクラスの継承については利用シーンやメリットをイメージできるのですが、
オブジェクト型の継承は具体的なメリットが思いつかないため、もう少し詳しく教えていただけますでしょうか。
また、型付けに関しても「string型」や「int型」といったオブジェクト型以外の型については、
declareによる厳密な型指定によって不要な値を拒否したり、フォームの入力値のチェックなど、
具体例が想像できますが、オブジェクト型の型付けに関してはまだイメージがつきません。
たとえば、コードの39行目からの下記の箇所は、
Post型を指定していますが、
あえて型を指定せず
としても処理結果は同じだったため、シンプルなコードにするために省略しても良いのではと考えてしまいました。
それとも「想定したオブジェクト型のみ許可し、それ以外は拒否する」といった状況があるのでしょうか。
たとえば、コードの39行目からの箇所を下記に変更するとエラーになりました。
動画の説明に「クラスを継承したクラスをたくさん作ったとしても、こちらのコードを変更することなく、まとめて処理することができるというメリットがあります。」とありますが、もう少し具体例を教えていただけると大変助かります。