PHP クラスのメンバー変数またはメソッドにアクセスするとき、参照される変数またはメソッドが const (定数の定義) または static (静的宣言) として宣言されている場合は、operator:: を使用する必要があります。それ以外の場合は、参照される変数またはメソッドが const または static として宣言されていない場合は、演算子 -> を使用する必要があります。
さらに、クラス内から const または static の変数またはメソッドにアクセスする場合は、逆に、クラス内から非 const または static の変数またはメソッドにアクセスする場合は、自己参照の self を使用する必要があります。の場合は、自己参照 $this を使用する必要があります。
$このインスタンス
コードは次のとおりです |
コードをコピー |
// これは現在のオブジェクトへのポインタです
クラステスト_this{
Private $content; // 変数を定義します
Function __construct($content){ //コンストラクターを定義します
$this->content= $content;
}
Function __destruct(){}//デストラクターを定義します
Function printContent(){//印刷関数を定義します
echo $this->content.' ';
}
}
$test=new test_this('北京へようこそ!') //インスタンス オブジェクト ;
$test->printContent();//北京へようこそ!
|
::使い方
コードは次のとおりです |
コードをコピー |
//parent は親クラスへのポインタです
class test_parent{ //基本クラス
Public $name; //名前を定義 継承されたクラスでこれを使用して直接呼び出す前に、親クラスのメンバーを public として定義する必要があります。
関数 __construct($name){
$this->name=$name;
}
}
class test_son extends test_parent{ // 派生クラスは test_parent を継承します
Public $gender;//性別を定義します
Public $age // 年齢を定義します
Function __construct($gender,$age){ //クラスのコンストラクターを継承します
parent::__construct('nostop');//parent を使用して親クラスのコンストラクターを呼び出し、親クラスをインスタンス化します
$this->gender=$gender;
$this->age=$age;
}
関数 __destruct(){}
関数 print_info(){
echo $this->name.' は '.$this->性別.'、今年は '.$this->年齢.' 歳'.' ';
}
}
$nostop=new test_son('雌','22');//test_son オブジェクトをインスタンス化します
$nostop->print_info();//出力関数を実行 nostopは今年23歳の女性です
|
self::$name の形式を使用します。 const 属性の宣言形式は const $PI=3.14 ではなく const PI=3.14 であることに注意してください
コードは次のとおりです |
コードをコピー |
クラス clss_a {
private static $name="static class_a";
const PI=3.14;
公開 $value;
パブリック静的関数 getName()
{
return self::$name;
}
//この書き方は間違っています、静的メソッドは非静的プロパティにアクセスできません
パブリック静的関数 getName2()
{
return self::$value;
}
パブリック関数 getPI()
{
return self::PI;
}
}
もう 1 つ注意すべき点は、クラス メソッドが静的である場合、アクセスするプロパティも静的である必要があるということです。 |
クラスの内部メソッドが const または static として宣言されていない属性にアクセスする場合は、$this->value ='class_a'; の形式を使用します。
http://www.bkjia.com/PHPjc/628859.html
www.bkjia.com
truehttp://www.bkjia.com/PHPjc/628859.html技術記事 PHP クラスのメンバー変数またはメソッドにアクセスするとき、参照される変数またはメソッドが const (定数の定義) または static (静的宣言) として宣言されている場合は、演算子を使用する必要があります:...