ホームページ >バックエンド開発 >PHPチュートリアル >PHP配列の一般的な関数
コードは次のとおりです:
/*
* カプセル化: オブジェクト指向の 3 つの主要な特徴の 1 つ
*
* 1. オブジェクトのメンバー (プロパティ、メソッド) を結合することです。独立した同一のユニットであり、オブジェクトの内部詳細を非表示にする可能性があります
* アクセス修飾子 public protected private
* private: private、このキーワードで変更されたメンバーはオブジェクト内でのみアクセスできます ($this でのみアクセスできます)
*
* プロパティはカプセル化できます:
* 変数を複数のメソッドで使用する必要がある限り、この変数をメンバー属性として宣言し、このオブジェクト内のすべてのメソッドで直接使用できます
*
* メンバー属性は以下と同等ですこのオブジェクトのグローバル変数
*
* メンバー属性はメソッドで使用されます。メンバー属性値を変更すると、実際にはメソッドの実行動作が変更されます。つまり、オブジェクトの機能が変更されます
*
*メンバー属性の値が異常な場合、メソッド実行の機能が変更されます。 異常
*
* 機能: オブジェクトの外で値を変更したり読み込んだりする必要はありません
* 1.
* をカプセル化し、パブリック メソッドを提供します。 (オブジェクトのメンバー属性は、メソッドを介して値を割り当てたり取得したりすることで制御できます)
*
*
* メソッドをカプセル化することもできます
*
* 機能:
* 1. のみ使用できるようにプライベート変更を使用します内部的に
*
* 2. クラスには 100 のメソッドがあり、そのうち 95 はカプセル化されています (他の 5 つのサービス メソッド)、使用できるメソッドは 5 つだけです
*
* 100 のメンバー属性、すべて値が取得されます、そして値は変更できない、または値は変更できるが値を取得できない // この場合、次のメソッドを使用します。 より便利な
* カプセル化に関連するマジック メソッド:
*
* __set();// [private]メンバーの属性値を直接設定する際に自動で呼び出されるメソッドです
* __get();//[private]のメンバー属性値を直接取得するため、メソッドが自動で呼び出されます
* __isset (); // このメソッドは、オブジェクト内のプライベート属性が存在するかどうかを確認するために isset() を直接使用するときに自動的に呼び出されます
* __unset(); // オブジェクト内のプライベート属性を削除するときに自動的に呼び出される unset() メソッドを使用します。 object
*
*
*
*
*
*
*
*/
class person{
//x は、オブジェクトの外部で変更する必要はありません
private $name
; private $sex;
private __unset($proName){
unset($this->$proName);
//オブジェクト内の private 属性が存在するかどうかを直接確認する場合、このメソッドを自動的に呼び出します
// __isset($proName), $proName は属性名を表します
private function __isset($proName){
return isset($this->$proName);//isset() は存在するかどうかを返します
}
function __construct($ name,$age,$sex){
$this->name=$name;
$this->sex=$sex;
// private メンバー属性の場合、このメソッドは自動的に呼び出されます
private function __get($proName)
{
//取得した値を制御します
if($proName=="age"){
if($this -age>40)
return $this->age-10;
}
return $this->$proName;
//プライベートメンバープロパティを設定すると、このメソッドが自動的に呼び出されます
private function __set( $proName,$proValue){
//$proNameはメンバー属性名、$proValueはメンバー属性値を表す
//設定範囲を制御する
if($proName=="age"){
if($proValue > 100 | | $proValuereturn;
}
$this->$proName=$proValue;
//メンバー属性の値を設定するためのパブリックメソッドを提供します
function setAge($age){
//年齢の範囲を制御し、セキュリティを強化します
if($age > 100 || $age return;
$this->age=$age;
//メンバー属性の値を取得するためのパブリックメソッドを提供します
function getAge() {
//年齢の範囲を制御します
if($this->age return $this->agereturn $this-> ;age-5;
else if($this->agereturn $this->age-15;
public メソッドを提供します。 ){
echo "私の名前: {$this->name}、私の年齢: {$this->age}、私の姓: {$this->sex}< br>";カプセル化された run() メソッドにアクセスします
$this-run();
}
private function run(){
echo '111111111111
'
}
function Eat(){
}
//破壊メソッド
function __destruct (){
}
}
$p1=新しい人("zhangsan",25,"男性");
$p3=新しい人;//$p1->age=-50;//age は外部から自由にアクセスできるため、セキュリティのためにメンバー属性はカプセル化されています。
$p1->setAge(30);//メソッドを通じてメンバー属性値を設定します
$p1->getAge();//メソッドを通じてメンバー属性値を取得します
//マジックメソッド_ _setを追加することにより($proName,$proValue) __get($proName)、メンバー属性を直接呼び出すことができます
$p1->say();//
$p1->run();// プライベート メソッドを呼び出すことはできません直接呼び出されます
//$p1 の名前を削除します
unset($p1->name);
//名前が存在するかどうかを判断します
if(isset($p1->name)){
echo "Exists< br> ;";
}else{
echo "そのようなメンバーはいません
";
}
?>