2014年12月26日金曜日

PHPクラス関係

クラス定義

class クラス名{
  public メンバ変数名;

  function メンバメソッド名(){
    // クラスの中で行う処理
  }
}


インスタンスの生成

new クラス名(引数1,・・・)



フィールドアクセス


$オブジェクト名->インスタンス変数名;



メソッドの呼び出し方

$オブジェクト名->メンバメソッド名();


//クラス定義
class A {
  public  $a;
  function printA() {
    print($this->a);
  }
}
//クラスAのインスタンスを生成
$temp = new A();

//フィールドに値をセット
$temp->a = 'abcd';

//メソッドを実行
$temp->printA();



コンストラクタ

class クラス名(){
  function __construct(変数, 変数, ...){
    // コンストラクタ内で行いたい処理
  }
}



クラス変数、クラスメソッド

class クラス名{
  public static メンバ変数名;

  static function メンバメソッド名(){
    // クラスの中で行う処理
  }
}


クラス変数、メソッドへのアクセス

$クラス名::クラス変数名

$クラス名::クラスメソッド名()



アクセス修飾子

public     クラス内、クラス外のどこからでもアクセス可能
private    同じクラス内からのみアクセス可能
protected  同じクラス、及び子クラスからアクセス可能



自分自身のインスタンス

$this

class A {
  private  $a;
  function printA() {
    print($this->a);
  }
}



自分自身のクラス

self

※クラス定義でしか使えない

self

class A {
  static $a = 'abc';
  function printa() {
    print(self::$a);
  }
}


スーパークラスにアクセス

//スーパークラスのコンストラクタを呼ぶ
parent::__constract();

//スーパークラスのファンクションfunc1を呼ぶ
parent::func1();



継承

サブクラス名 exteds スーパークラス名

class SmallDog extends Dog{
  ・・・
}

0 件のコメント:

コメントを投稿