目的
ちがう記事でphpにおけるプロパティ、メソッド、関数の違いを指摘されたので、その辺曖昧にしてしまっていたので整理してみる。
メソッド
メソッドはクラス内で定義された関数のこと。
クラスのインスタンス(オブジェクト)に対して実行可能な操作を定義するために使用される。
メソッドはオブジェクトの振る舞いを表現するためのコードを含んでいる。
メソッドの特徴
・クラス内のプロパティにアクセスできる。
・クラスのインスタンスに対して呼び出すことができる。
・メソッドは引数を受け取ることができ、返り値を返すことができる。
<?php
class MyClass {
public $property;
public function myMethod($arg) {
// メソッドの処理
// プロパティへのアクセス
$this->property = $arg;
// 返り値の設定
return $this->property;
}
}
$obj = new MyClass();
$obj->myMethod('Hello');
プロパティ
プロパティはクラス内で定義された変数のこと。
クラスのインスタンスごとに異なる状態を表現するために使用される。
プロパティはクラス内のメソッドからアクセスされたり設定されたりする。
プロパティの特徴
クラスのインスタンスごとに異なる値を持つことができる。
メソッド内からアクセスや設定が可能。
アクセス修飾子を使用してアクセスレベルを制御できる(public、private、protectedなど)
<?php
class MyClass {
public $property;
public function myMethod() {
// プロパティへのアクセスと設定
$this->property = 'Hello';
}
}
$obj = new MyClass();
$obj->myMethod();
echo $obj->property; // 'Hello' を出力
関数(function)
クラスに依存しない独立したコードブロック。
再利用可能な処理を実行するために使用される。
関数はクラス内に定義されず、独自の名前空間に存在する。
関数の特徴
クラスに依存しない。
クラス内に定義されず独自のスコープを持つ。
パラメータを受け取り、処理を実行する。
返り値を持つことができる。
ファイル内のどこからでも呼び出すことが可能。
<?php
function fun() {
$str = "This is function"
echo $str;
}
fun(); // "This is function" を出力
感想
自分の中でプロパティ、メソッド、関数の呼び方とメソッドと関数を混同していたところがあった。
基礎的なところを曖昧にするといつか詰みそうなので合間合間で復習せねばと思った。