はじめに
プロパティやメソッドなどの超基本についてだけまとめました。
全部頑張って書こうと思いましたが
カプセル化、継承、staticなど先が見えず心が折れ、
とりあえず書いたところまでの投稿です。
初学者はまずここまで理解しようということで。
オブジェクト指向とは
オブジェクト指向は
クラス(class)という設計書の中に
プロパティやメソッドなど(部品)をひとまとめにして
この設計書を元に作ったもののことをインスタンスという。
プロパティは変数、
メソッドは関数と認識して今のところは問題ない。
※自分が最初理解するのにわかりづらかったことは
何をオブジェクトと呼ぶのか?
この記事最後に話そうと思う。
基本的な使い方(プロパティ、メソッド)
<?php
class クラス名 {
// プロパティ
// メソッド
}
上記のように記述する。
<?php
// クラス名 Myclass
class MyClass {
// プロパティ$myProperty (変数だと解釈する)
public $myProperty;
// メソッド myMethod() (関数だと解釈する)
public function myMethod(){
// メソッドの処理の内容を記述
echo "myMethod";
}
}
では上記のクラス(設計書)を元に作る(インスタンスを作る)。
<?php
// 上記のファイルを読み込む
require_once("index.php")
任意の変数名 = new クラス名
上記の書き方でインスタンスを生成し、プロパティやメソッドを使ってみる。
<?php
// 上記のファイルを読み込む
require_once("index.php")
// $myClassというインスタンスがつくられる。
$myClass = new MyClass();
// インスタンスを作ることでクラス内のプロパティやメソッドを使うことができる。
// プロパティに値を入れる。
$myClass->myProperty = "Hello";
echo $myClass->myProperty;
// 結果 Hello
// メソッドを実行する。
$myClass->myMethod();
// 結果 myMethod
インスタンス名->プロパティ名
インスタンス名->メソッド名
でそれぞれアクセスすることができる。
オブジェクトってどれのこと?
これはほんとにわかりづらい、
今でも正解がわかっていない。
理由は記事や本などでオブジェクトと呼ぶデータが統一していないから・・・。
インスタンスのことをオブジェクトと読んだり、
クラスのことをオブジェクトと読んだり。。。
自分は基本的にオブジェクトという言葉を使わないようにしている。
クラスは設計書
インスタンスは設計書を元に作られたもの
と定義がはっきりあるのであえてオブジェクトという言葉は
使わないでよいかなと、今のところ困っていないが
明確な定義があれば教えていただきたい。