XAMPP入門

2.PHP

(9)クラス

[書式]
class クラス名 {
 $プロパティ名;
 $プロパティ名;
 function クラス名(引数) {
   コンストラクタ処理;
 }
 function メソッド(引数) {
   メソッド処理;
 }
}

インスタンス化されたオブジェクトへのアクセスは -> を用います。
例えば、sampクラスに定義してあるプロパティbの内容を表示するときは次のようになります。
$a = new samp();
echo $a->b;

【例】
samp18.php



samp19.php

クラス内のメソッドからプロパティにアクセスする場合は $this->変数名 とします。


コンストラクタ、デストラクタ

コンストラクタを指定する場合、クラス名と同じ関数名でコンストラクタになります。
それ以外に function __construct () の指定でコンストラクタになります。
また、デストラクタは function __destruct() で指定します。

samp20.php




カプセル化

クラス内で定義されたプロパティは外部からアクセスできないようにして、クラスをカプセル化することができます。
samp19.phpで作ったクラスのメソッドは var $a となっており、これはpublicとして扱われます。
外部からのアクセスを禁止するには、private もしくは protected を用います。
var と public どこからでもアクセス可能
private そのクラスからのみアクセス可能
protected そのクラス、継承したクラス、親クラスからアクセス可能


継承

継承は Class クラス名 extends 親クラス で指定します。
継承したクラスは親クラスのメソッドやプロパティを扱う事ができます。

samp21.php

var を public 、 private 、 protected に変更するとどうなるか試してください。


抽象クラス

abstract


インターフェース

interface
implements



Copyright (C) NKC All Rights Reserved.