PHPでのクラス使い方やその周辺知識

  •  
 
MAXIMUM に投稿

タグ

1.空っぽのメモリに新規割り当てする

クラスを使う前に先ずはオブジェクトを作成します。
メモリには何も保存されていないため、このようにnewする作業が前段で必要になります。
$today = new DateTime();
※DateTimeはPHP標準クラスのため宣言不要

流れとしてはこうなります。
DateTimeクラス

DateTimeオブジェクト生成

2.実際にクラスを呼び出して使用してみる

PHPの場合、クラス使用の際は->というのを使います。※Javaで言うと「.」
$today->format('Y/m/d');

流れとしてはこうなります。
DateTimeオブジェクト

format()メソッド実行

2026/07/02

3.コンストラクタ

オブジェクト作成時に自動実行される特殊なメソッドもあります。
主に初期値設定目的で使用します。
戻り値指定は出来ないです。
public function __construct(
   $name,
   $salary,
   $company
)
{
   $this->name = $name;
   $this->salary = $salary;
   $this->company = $company;
}

4.アクセス修飾子

PHPにもアクセス修飾子があります。Javaと同じくprotectedについては殆ど使われないかと思われます。下記に一覧を載せておきます。
・public どこからでも参照可能
・protected 自クラスと子クラスのみ参照可能
・private 自クラスのみ参照可能

5.継承

extendsを利用して継承できます。
親クラスの機能を引き継ぎながら、独自機能を追加できます。
class Engineer extends Employee { }

またオーバーライドと呼ばれる子クラスから親クラスに変更を加える逆方向の実装方法もあります。柔軟に対応することが可能です。

6.静的メソッド

javaと同じくnew不要で何処からでも呼べる静的メソッドがPHPにもありますが、呼び出しの書き方が若干特殊です。
public static function getCompanyType(){
   return "一般企業";
}
Employee::getCompanyType(); //呼び出し

7.まとめ

オブジェクト指向の考え方自体はJavaと全く同じですが、書き方や言い回しなど細かい部分で違いがある為、困惑しそうではあるかなと思いました。

コメントを追加

プレーンテキスト

  • HTMLタグは利用できません。
  • 行と段落は自動的に折り返されます。
  • ウェブページのアドレスとメールアドレスは自動的にリンクに変換されます。
CAPTCHA
この質問はあなたが人間の訪問者であるかどうかをテストし、自動化されたスパム送信を防ぐためのものです。