オブジェクト向けキーワード(const,static)


Constキーワード
オブジェクト内のクラスに定数を定義する方法です.
Const大文字==値
クラスの定数がphpの定数と同じに定義されると、定義が変更されません.
注意:
    1.$this->定数名で呼び出さないでください
    2.定数名で直接呼び出すわけでもない
    3.クラス内での呼び出し方法(2つ)
方式1.クラス名:定数名
方式2 self::定数名
    4.クラスの外部呼び出しで、オブジェクトをインスタンス化する必要はありません.直接クラス名を使用します::定数名呼び出し
例:

  
  
  
  
  1. <?php 
  2.   class  ren{ 
  3.     
  4.       public $name
  5.  
  6.       //       
  7.       const TYPE=' '
  8.  
  9.       function say(){ 
  10.             //  
  11.            echo  ' '.self::TYPE.'<br>'
  12.       } 
  13.    
  14.   } 
  15.  
  16. //  
  17. $pnew ren(); 
  18.  
  19. $p->say(); 
  20.  
  21. //  
  22. echo ren::TYPE; 
  23. ?> 

Staticキーワード:
    1.静的メンバー・メソッドとメンバー・プロパティの効率は特に高く、結果が可能な限り静的メンバー・メソッドまたはメンバー・プロパティと書くことを許可している場合.
    2.静的変数を宣言するにはstaticキーワードで始まり、変数を追加します.
    3.静的変数$this->静的メンバー属性名で呼び出さないでください
    4.クラスの内部で静的メンバーを呼び出す2つの方法.
1つ目:クラス名の使用::静的メンバー属性名;を選択して、静的メンバーのプロパティを呼び出します.
2つ目:self::静的メンバー属性名の使用
    5.≪クラス名の使用|Use Class Name|emdw≫:静的メンバーのプロパティ名の前に$記号を付け、値を変更する場合は=代入演算子を使用して直接代入します.
    6.クラスへの外部アクセスはインスタンス化する必要はありません.直接クラス名::静的メンバー属性を呼び出します.
    7.静的なメンバーメソッドを宣言するには,メソッド名にstaticキーワードを付けるだけでよい.
    8.クラスの外部で静的メンバーを呼び出す方法は2つあります.
(1)クラス名::スタティックメソッド名
(2)オブジェクト->スタティックメソッド名
   9.静的メンバーメソッドでは$thisキーワードを使用してメンバー属性とメンバーメソッドを呼び出すことは禁止され、静的メンバーメソッドでは$thisキーワードを使用することは禁止されます.
   10.非静的メンバーメソッドの内部で$this->静的メンバーメソッド()を使用して静的メンバーメソッドを呼び出します.
   11.非静的メンバーメソッドの内部でクラスの内部でクラス名を使用します::静的メンバーメソッド名()は静的メンバーメソッドを呼び出します.
   12.非静的メンバーメソッドの内部self::静的メンバーメソッド名()で静的メンバーメソッドを呼び出します.
   13.静的メソッドの内部では$this->メンバー属性またはメンバーメソッドは使用できませんが、ローカル変数または型パラメータ、静的メンバー属性、定数などを使用できます.
   14.private protected,publicとstaticキーワードを一緒に使用する場合は累積効果です.
例:

  
  
  
  
  1. <?php 
  2.   class  st { 
  3.    
  4.       static $num =10; 
  5.      
  6.       function  hi(){ 
  7.            /*  
  8.             echo st::$num.'<br/>';*/ 
  9.  
  10.             
  11.           # self  
  12.           #echo self::$num
  13.  
  14.  
  15.           //  
  16.         // self::$num=50; 
  17.         // echo self::$num; 
  18.        } 
  19.   } 
  20.  
  21.  $demo = new st; 
  22.  $demo -> hi(); 
  23.  
  24.  //  
  25.   echo  st::$num
  26. ?>