PHP の構築、破壊、カプセル化オブジェクト指向_PHP チュートリアル
コンストラクターの宣言は、その名前が __construct() でなければならないことを除いて、他の操作の宣言と同じです。カプセル化とは、オブジェクトのプロパティとサービスを独立した同一のユニットに結合し、その内部の詳細を隠すことを意味します。可能な限りオブジェクト
構築メソッドとデストラクターメソッド
施工方法:
ほとんどのクラスには、コンストラクターと呼ばれる特別なメソッドがあります。オブジェクトが作成されると、自動的にコンストラクターが呼び出されます。つまり、 new キーワードを使用してオブジェクトをインスタンス化すると、コンストラクターが自動的に呼び出されます。
コンストラクターの宣言は、その名前が __construct() でなければならないことを除いて、他の操作の宣言と同じです。これは PHP5 での変更です。以前のバージョンでは、コンストラクターの名前はクラス名と同じである必要がありました。これは PHP5 でも引き続き使用できますが、この利点は、コンストラクターをクラス名と同じにすることができることです。クラス名に関係なく、クラス名が変更された場合でも、対応するコンストラクター名を変更する必要はありません。下位互換性のために、クラスに __construct() という名前のメソッドがない場合、PHP はクラス名と同じ名前で php4 で記述されたコンストラクター メソッドを検索します。
形式: function __construct ( [パラメータ] ) { ... ... }
クラス内で宣言できるコンストラクターは 1 つだけですが、コンストラクターはオブジェクトが作成されるたびに 1 回しか呼び出されないため、このメソッドはアクティブに呼び出すことができないため、通常はいくつかの便利な初期化タスクを実行するために使用されます。たとえば、オブジェクトの作成時に、対応するプロパティに初期値が割り当てられます。
コードは次のとおりです | コードをコピー |
//人間を作成する //コンストラクターのパラメーターを名前 $name、性別 $sex、年齢 $age として定義します //この人の話し方 //構築メソッドを通じて 3 つのオブジェクト $p1、p2、$p3 を作成し、3 つの異なる実際のパラメーター: 名前、性別、年齢を渡します //以下は$p1オブジェクトのspeakingメソッドにアクセスします 出力結果は次のとおりです: |
デストラクター:
コンストラクターの反対はデストラクターです。デストラクタは、PHP5 で新しく追加された内容です。PHP4 にはデストラクタはありません。デストラクターを使用すると、クラスを破棄する前に、ファイルを閉じる、結果セットを解放するなど、一部の操作を実行したり、一部の機能を完了したりできます。デストラクターは、オブジェクトへのすべての参照が削除されるか、オブジェクトが明示的に破棄されるときに削除されます。オブジェクトがメモリ内で破棄されるときに実行されます。つまり、デストラクタは、オブジェクトがメモリ内で破棄される前に呼び出されます。コンストラクターの名前と同様に、クラスのデストラクターの名前は __destruct() でなければなりません。デストラクターはパラメータを取ることができません。
形式: function __destruct ( ) { ... ... }
コードは次のとおりです | コードをコピー | ||||||||||||
//人間を作成する クラスの人 { //以下は人々のメンバー属性です var $name //その人の名前 var $sex //人の性別 var $age //人の年齢 //コンストラクターのパラメーターを名前 $name、性別 $sex、年齢 $age として定義します 関数 __construct($name, $sex, $age) { //構築メソッドを通じて渡された $name には、メンバー属性 $this->name に初期値が割り当てられます $this->name=$name; //構築メソッドを通じて渡された $sex には、メンバー属性 $this->sex に初期値が割り当てられます $this->sex=$sex; //構築メソッドを通じて渡された $age には、メンバー プロパティ $this->age に初期値が割り当てられます $this->age=$age; } //この人の話し方 関数say() { echo "私の名前: ".$this->name." 性別: ".$this->性別" 私の年齢: ".$this->age." //これはデストラクターであり、オブジェクトが破棄される前に呼び出されます 関数 __destruct() { echo "さようなら".$this->name.""; } } //構築メソッドを通じて 3 つのオブジェクト $p1、p2、$p3 を作成し、3 つの異なる実際のパラメーター (名前、性別、年齢) を渡します $p1=新しい人("張三","男性", 20); $p2=新しい人("李思","女", 30); $p3=新しい人("王五","男", 40); // 以下は、$p1 オブジェクトの発話メソッドにアクセスします $p1->say(); //以下は $p2 オブジェクトの発話メソッドにアクセスします $p2->say(); //以下は $p3 オブジェクトの発話メソッドにアクセスします $p3->say(); 出力結果は次のようになります: 私の名前: Zhang San 性別: 男性 私の年齢: 20 私の名前は: Li Si 性別: 女性 私の年齢: 30 私の名前は: Wang Wu 性別: 男性 私の年齢: 40 さようなら、チャンサン さようならリーシ さようなら、王呉
ソフトウェアにおけるカプセル化の原理の反映は、オブジェクト以外の部分がオブジェクトの内部データ (プロパティ) に自由にアクセスできないようにすることを必要とするため、外部エラーの「相互感染」を効果的に回避し、ソフトウェア エラーを可能にします。ローカライズされるため、エラー チェックとトラブルシューティングの難しさが大幅に軽減されます。 人のオブジェクトに年齢や給与などの属性があるとします。このような個人のプライバシー属性は、カプセル化を使用しない場合、他の人がそれを知ることができます。あなたはそれを取得できますが、それをカプセル化すると、自分がそれを伝えない限り、他の人はそのカプセル化された属性を取得することができなくなります。たとえば、パーソナル コンピュータにはパスワードがあり、他人が勝手にログインしたり、それをコピーして自分のコンピュータに貼り付けたりすることは望ましくありません。また、人間のような物体においては、身長や年齢といった属性は自分自身でのみ増加させることができ、他人等が恣意的に値を割り当てることはできない。
http://www.bkjia.com/PHPjc/629193.html |

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP でデータベースを操作するのは非常に簡単です。この章では、CRUD (作成、読み取り、更新、削除) 操作について理解します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー
