30歳 独学で始めるプログラミング ~WEBデザイン・アプリ開発~

ITスキルに興味がでたので、codeを書いてみたら面白くてハマってしまいました!日々何をやったのかを中心に、記事を書いていきたいと思います。

32日目:PHP 学習:クラスによる条件分岐/子クラスにアクセス権を付与する (instanceof、protected)

<学習日>

32日目

<学習内容>

① PHP Ⅲ(51-70%):クラスによる条件分岐/子クラスにアクセス権を付与する (instanceof、protected)

<参考>

Progateレベル:143

 

<学習内容詳細>

f:id:yakuzen_kokoro:20200804234337p:plain

本日は昨日と打って変わって、少なめな感じです。

 

ちょっと別の勉強をしていましたが、プログラミングも必ず毎日少しは触れるようにしていきます^^

 

 

① PHP Ⅲ(51-70%):クラスによる条件分岐/子クラスにアクセス権を付与する (instanceof、protected)

f:id:yakuzen_kokoro:20200804234437p:plain

はい、ということで、本日はクラスによる条件分岐と、アクセス権ごとに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日でも長く続けられるように頑張っていきます^^

同志の方、一緒に頑張っていきましょう!