ホームページ >バックエンド開発 >PHPチュートリアル >PHP オブジェクト指向のプライベート権限制御_PHP チュートリアル
/***
====メモセクション====
権限修飾子
機能: 属性/メソッドの権限特性を説明するために使用されます
属性/メソッドの前に書きます
権限修飾子は 3 つあります
プライベート、最も厳重に保護されています
保護されました
public 、最も保護されていない
質問:
public によって変更されたプロパティ/メソッドにはどこからアクセスできますか?
プライベートに変更されたプロパティ/メソッドにはどこからアクセスできますか?
プロパティ/メソッドにアクセス許可があるかどうかを確認するにはどうすればよいですか?
答え: 訪問中の場所によって異なります!
プライベート属性/メソッドには、クラス定義の中括弧 {} 内でのみアクセスできます
公開プロパティにはどこからでもアクセスできます
***/
[php]
クラス人間{
public $mood='';// 気分、公開
private $money=500;//お金、プライベート
パブリック関数 getmoney(){
$this->お金を返してください;
}
//プライベートシークレットメソッドを定義する
プライベート関数 Secret(){
エコー「私はその日キャンディーを盗みました」
}
//秘密の方法を教えてください
パブリック関数 Tellme(){
$this->秘密();
}
}
$lisi=新しい人間
;
$lisi->mood='幸せ';
echo $lisi->mood,'
';//ハッピー
echo $lisi->getmoney(),'
';//500
//echo $lisi->money=300;//オブジェクトはプライベート プロパティを呼び出すことができません
//致命的なエラー: C:wampwwwphpprivate.php の 31 行目でプライベート プロパティ human::$money にアクセスできません
//$lisi->secret();//オブジェクトはプライベート メソッドを呼び出すことができません
//致命的なエラー: C:wampwwwphpprivate.php の 32 行目で、コンテキスト '' からプライベート メソッド human::secret() を呼び出します
$lisi->tellme(); // はい、17 行目、つまりクラス内で呼び出されるからです。
/*
概要: プライベート権限制御
クラスの {} 内でのみ呼び出すことができます
{} から出たら、誰もあなたを動かすことはできません。
*/
?>
クラス人間{
public $mood='';//ムード、public
パブリック関数 getmoney(){
}
//プライベートシークレットメソッドを定義します
プライベート関数 Secret(){
echo 「私はその日キャンディーを盗みました」;
}
//秘密の方法を教えてください
パブリック関数 Tellme(){
$this->secret();
}
}
$lisi=新しい人間();
$lisi->mood='happy';
エコー$lisi->気分、'
';//幸せ
echo $lisi->getmoney(),'
';//500
//致命的なエラー: C:wampwwwphpprivate.php の 31 行目でプライベート プロパティ human::$money にアクセスできません
//$lisi->secret();//オブジェクトはプライベートメソッドを呼び出すことができません
//致命的なエラー: C:wampwwwphpprivate.php の 32 行目でコンテキスト '' からプライベート メソッド human::secret() を呼び出します
$lisi->tellme(); // はい、17 行目、つまりクラス内で呼び出されるからです。
概要: プライベート権限制御
クラスの {} 内でのみ呼び出すことができます
*/
?>
true