32日目:PHP 学習:クラスによる条件分岐/子クラスにアクセス権を付与する (instanceof、protected)
<学習日>
32日目
<学習内容>
① PHP Ⅲ(51-70%):クラスによる条件分岐/子クラスにアクセス権を付与する (instanceof、protected)
<参考>
Progateレベル:143
<学習内容詳細>
本日は昨日と打って変わって、少なめな感じです。
ちょっと別の勉強をしていましたが、プログラミングも必ず毎日少しは触れるようにしていきます^^
① PHP Ⅲ(51-70%):クラスによる条件分岐/子クラスにアクセス権を付与する (instanceof、protected)
はい、ということで、本日はクラスによる条件分岐と、アクセス権ごとに3つのcodeを使い分けるという勉強をしました^^
具体的なcodeを挙げながら、本日の学習内容を振り返っていきます!
ちょっと先日の復習もかねて「self」のcodeも備忘録的に載せています。
・そのクラス内で、クラスプロパティを参照したい場合
「self」を使用する。具体的なcodeは
self::$type ++;
のような形となる。
・インスタンスごとに処理条件を変えたいとき
foreach構文で、全てのインスタンスに対して、繰り返し処理をしているとする。
その繰り返し処理で、「このグループのインスタンスには処理A」を「このグループのインスタンスには処理B」を実行したいといった場合、if文と組み合わせて各子クラスごとに処理を仕分けることが出来る。
具体的には、lefterには「左利きです」と表示させたい場合には、以下のようなcodeとなる(右利き、左利きの英語は適当)。
<?php if($man instanceof lefter): ?>
<p><?php echo "私は左利きです" ?></p>
<?php endif ?>
<?php?>で関数を挿入するときには、少し書き方が変わることがポイントの一つ。
instanceof クラス名としていすることで、「このクラス名だったら、次の処理をしてね」という意味になる。
・クラスで定義したアクセス権について
各々のアクセス可能な範囲についてまとめると、以下のとおり。
public:クラス内、子クラス内、クラス/子クラス以外
protected:クラス内、子クラス内
private:クラス内
上から順番に、制限が強くなる。
明日はなるべくPHP Ⅲを終えて、Ⅳに突入できるようにしたいと思います!
ではでは、1日でも長く続けられるように頑張っていきます^^
同志の方、一緒に頑張っていきましょう!