プログラミング学習記録 #12 オブジェクト指向
●オブジェクト:「モノ」(プログラミングする際の便利な単位)のこと
●クラス:オブジェクトの振る舞いを定義したデータ型の一種
●クラスの構造
class Player
{
private $name; //プロパティ
function__construct($name) //コンストラクタ
{
$this->name = $name;
}
function drawCards() //メソッド
{
}
}
・プロパティ:クラス共通のデータ(値)
・メソッド:クラスの振る舞い
●インスタンス
$player = new Player('田中');
$game->drawcard();
クラスを雛形として生成されたデータの塊
*クラスで処理を共通化して各インスタンスで個別情報を保持することができる
●オブジェクト指向とは
変更に対処しやすくするためのソフトウェアの開発手法
責務を書くオブジェクトに以上してメインプログラムが全てを管理しなくて済むような構造
・目的:変更に対処しやすくする
・手法:オブジェクトに責務を委譲する
・効果
①各クラスごとにロジックが集約される
②仕様変更があっても影響範囲を抑えられる
●コンストラクタ
インスタンスが生成されるたびに呼び出されるメソッド
インスタンスを初期化するごとに呼び出される
通常記法
class Member
{
private $name;
function __construct(string $name)
{
$this->name = $name;
}
function getName()
{
return $this->name;
}
}
$member = new Member('田中');
echo $member->getName();
短縮記法(PHP8.0.0以降)
class Member
{
function __construct(protected string $name)
{
}
function getName()
{
return $this->name;
}
}
$member = new Member('田中');
echo $member->getName();