手から出たゴミ

食って、寝て、糞をする合間で作り出されたゴミ

お酒と一緒に学ぶオブジェクト指向vol1

はじめに

PHPで開発したことは、あるんですが ライブラリ、保守性とか考えずにクソコードを書いていたので 社会的な評価(就活)に対して危機感がありました

最近、良サイトを見つけたので 色々勉強中です

今回は、オブジェクト指向を一通り学んだので忘れないうちに まとめておきます。

そもそもオブジェクト指向とは

オブジェクト同士の相互作用として、システムの振る舞いをとらえる考え方

簡単にいうと、もの(オブジェクト)の関係を意識した考え方

クラス

クラスとは、設計図である。

さあ、お酒を作っていきましょう

// クラスの宣言
class Alcohol{
}

インスタンス

クラスを使って実際に生成されたもの

焼酎というお酒をAlcoholというクラスから生成しました

class Alcohol{
}
// インスタンスの生成
$Shochu = new Alcohol();

プロパティ

クラス内の定数、変数のこと

Alcoholクラスに名前とアルコール度数というプロパティを定義しました

class Alcohol{
    public $name;  // プロパティ
    public $degree; // プロパティ
}

メソッド

クラス内の関数のこと

class Alcohol{
    public $degree;
    public function water(){
        $this->degree /= 2;
    }
}

$thisは同クラス内のメソッドやプロパティにアクセスする場合に利用される

ここで、$this->degreeはAlcoholのプロパティ$degreeのことである

プロパティ、メソッドへのアクセス

静的でないプロパティ、メソッドにアクセスするには

-> (オブジェクト演算子)

を使う

class Alcohol{
    public $name;
    public $degree;

    public function water(){
        $this->degree /= 2;
    }
}

$Shochu = new Alcohol();

$Shochu->name = '赤霧島 ';
$Shochu->degree = 25;
$Shochu->water();

プロパティ、メソッドの動きのチェック

<?php
// クラスの宣言
class Alcohol{
    public $name;
    public $degree;

    public function water(){
        $this->degree /= 2;
    }
}

// インスタンスの作成
$Shochu = new Alcohol();

echo $Shochu->name; // 表示されない
// $beer->nameのチェック
var_dump($Shochu->name);

// インスタンスbeerの中身を定義
$Shochu->name = '赤霧島 ';
$Shochu->degree = 25;

echo $Shochu->name;
var_dump($Shochu->name);

echo $Shochu->degree;
$Shochu->water();
echo '<br>' . $Shochu->degree;
?>

感想

最近、酒が飲めてないのでコードの中だけでも酔った気分になりたい

vol2はこちら