ホームページ  >  記事  >  バックエンド開発  >  PHP_PHP チュートリアルの ::、->、self、$this 演算子

PHP_PHP チュートリアルの ::、->、self、$this 演算子

WBOY
WBOYオリジナル
2016-07-13 17:15:09758ブラウズ

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 であることに注意してください

クラスの内部メソッドが const または static として宣言されていない属性にアクセスする場合は、$this->value ='class_a'; の形式を使用します。
コードは次のとおりです コードをコピー

クラス 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 つ注意すべき点は、クラス メソッドが静的である場合、アクセスするプロパティも静的である必要があるということです。


http://www.bkjia.com/PHPjc/628859.html

www.bkjia.com

http://www.bkjia.com/PHPjc/628859.html技術記事 PHP クラスのメンバー変数またはメソッドにアクセスするとき、参照される変数またはメソッドが const (定数の定義) または static (静的宣言) として宣言されている場合は、演算子を使用する必要があります:...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。