エンジニアの卵です
昨年新卒で入社した会社を辞めてテックキャンプを卒業。(84期生)
今年からIT会社でエンジニアとして働きはじめましたが、まだまだわからないことだらけなので、
Qiitaを通して自分の理解度の定着と他の方の記事をみて学んで行きたいなと思います。
今はプロゲートレベルですが、これから胸を貼ってエンジニアですと言えるようにがんばっていきます。
オブジェクト思考
オブジェクト思考とはオブジェクト(もの)を中心とした考え方で
ECサイトでいうところの商品やユーザー、商品を入れるカートなどの1つ1つを指します。
コードを書く際に商品についてのコード、ユーザーについてのコード、カートについてのコードなど分けて記し、またそれらを組み立てながら作成していくため、この考え方が必要になります。
クラスとインスタンス
クラスとはオブジェクトを生成するための設計図のようなものです。
クラスの中に商品についてやメニューについてなど書いていきます。
インスタンスとはクラスを元に生成された実体を言います。
インスタンスとオブジェクトは同じような意味です。
分かりやすくたこ焼きで例えると、
クラス たこ焼き機
インスタンス たこ焼きの生成
インスタンスに情報を追加する場合 ソースなど
を指します。
当時全く理解出来ませんでしたがこの例えを聞いて少し理解出来るようになりました。
分かりやすいものもあったので自分用に貼ります。
PHPのクラスとインスタンスの書き方は以下のようになります。
・クラス
<?php
class Menu{
}
「class クラス名」と定義して{}の中にクラスの内容を書いていきます。
クラス名の最初は大文字になります。
・インスタンス
$menu1 = new Menu():
$menu2 = new Menu();
インスタンスはnewを使って生成します。
$menuという変数に生成したインスタンスMenuを代入しています。
インスタンスはクラスの中では生成出来ません。
プロパティ
プロパティとメソッドはクラスの中に記述するものです。
プロパティはインスタンスが持つデータを言います。
例えばプロパティはインスタンスが持つデータなので名前や値段などです。
PHPのプロパティの書き方は以下のようになります。
<?php
class Menu{
public $name;
}
Munuクラス(設計図)の中に「public $プロパティ名」でプロパティを定義します。
今回は$nameプロパティを定義しました。
また「インスタンス->プロパティ名」斗することでインスタンスのプロパティにアクセスすることが出来ます。
例
class Menu{
public $name
}
$sushi =new Menu();
$sushi ->name ='SUSHI';
echo $sushi->name;
上記で起こっていることは以下になります。
Menuクラスを生成。
$name プロパティを定義。
Menuインスタンスを生成して$sushiに代入。
$sushiの値をSUSHIに設定。
(echo は出力する時に使うもの)
echo $sushi->name;の結果はSUSHIになる。
メソッド
メソッドもクラスの中に記述するもので、
それぞれのインスタンが持つ関数(処理するもの)です。
例えば、インスタンスの名前を取得したり注文数を取得したりします。
インスタンス固有の関数をメソッドと言います。
PHPのメソッドの書き方は以下のようになります。
class Menu{
public function hello(){
echo '私はMenuインスタンスです';
}
}
$sushi =new Menu();
$sushi -> hello();
上記で起こっていることは以下になります。
Menuクラスに「public function メソッド名()」でメソッドを定義。
Munuインスタンスを生成して$sushiに代入。
「インスタンス->メソッド名()」でメソッドにアクセスするため(呼び出している)
結果は私はMunuインスタンスですと表示される
$sushi -> hello();が実行されたら
public function hello(){
echo '私はMenuインスタンスです';を呼び出しているというイメージ。
自分のまとめとして投稿していますが、今後文章も上手くなれるように頑張ります。
また次回PHPの続きを投稿します。