オブジェクト指向とは概念である
そもそもオブジェクト指向とはどんなものなのか...
<オブジェクト指向(Object Oriented Programming : OOP)とは プログラムを手順ではなく、モノの作成と操作として見る考え方。オブジェクトとは「モノ」を意味する。- オブジェクト指向を使うと...
- プログラミングの全体像を把握しやすい プログラミング全体の構造を把握でき、物をつくるイメージでプログラムを設計できる。
- 分業や共同作業がとても捗る 大きなプロジェクト(大人数)でも分業などとてもしやすい。
- 改良や修正がとても簡単 大部分が定義できていれば、改良も修正も小さな部分を増やしたり減らしたりするだけで一気に修正が可能。
クラス
クラスとは...オブジェクトを作るテンプレート(設計図) クラスの中には変数や関数が含まれ、クラスを軸にオブジェクトを作っていく。 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1078759/8bb5e66a-b556-1d31-8d75-25dd799edb7f.png)class
class クラス名 {
//この中にプロパティとメソッドを記述する。
}
プロパティ(インスタンス変数)
プロパティとはオブジェクトを説明するデータの事で、オブジェクトの属性や状態・特質や特性を指す。 クラスの中で定義された変数の事をプロパティと呼ぶ。 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1078759/2bfb8eaf-98a4-6543-00a6-0054928239d3.png) ※クラスの中で定義されている場合のみ、プロパティと独自の名前がつくpropaty
//プロパティの宣言
public/private/protected $変数名 = 値;
/*
publicはクラス内・クラス外のどこからでもアクセス可能。
privateは同じクラス内からのみアクセス可能。
protectedは同じクラス、および子クラスからアクセス可能。
*/
メソッド
メソッドとはなにかしらの処理をまとめ、その一連の処理に名前をつけたもので共通して持つ機能。 クラスの中で定義された関数の事をメソッドという。 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1078759/6f0d18dc-d9b4-da35-5076-99a698359a36.png)■メソッドの種類...
・インスタンスメソッド:クラスのインスタンス(実体)に対して紐づけられるメソッド
・クラスメソッド:クラスオブジェクトから実行可能なメソッド
method
public/private/protected function 関数名(){
//この中に関数を定義
}
某キャラクターを作成してみた
#####頭の中でどのように組み立てるかイメージ・・・##### ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1078759/c55e1df2-89bd-771f-1f9d-a6dd13000a70.png)#####まずはクラスとプロパティの作成#####
Chocobo.class
Class Character {
//プロパティ
public $name;
public $color;
public $length;
public $weight;
public $hp;
#####次にメソッドの設定#####
Chocobo.method
public function introduce(){
//紹介メソッド※改行コードを書くとechoした時見やすい。
echo "名前:" .$this->name;
echo "色:" .$this->color;
echo "体長:" .$this->length ."cm";
echo "体重:" .$this->weight ."kg";
echo "体力:" .$this->hp;
}
#####キャラクターの生成(チョコボ)#####
Chocobo.instance
$yellow = new Character();
$yellow->name ="チョコボ";
$yellow->color ="黄";
$yellow->length = 50;
$yellow->weight = 15;
$yellow->hp = 100;
/*結果
名前:チョコボ
色:黄
体長:50cm
体重:15kg
体力:100*/
#終わりに#
今回は、初心者が躓くオブジェクト指向の基本の部分、クラス・プロパティ・メソッドについて記述しました。
次回、継承・コンストラクタについて詳しく書いていこうと思います。
また、作成者本人もPHPを学習中のため、勉強用のメモとして、この記事を活用しております。
もっとわかりやすく教えていただける方いれば、コメント欄にてお待ちしております。
ではでは♪