注: 内容がより関連しているため、この記事を読む前に、以前の記事を読むことをお勧めします。スプレーしないでください。 。
オブジェクト指向は思考様式の名前であり、オブジェクト指向は、「いつ、何を、何をするか」ということを指します。
プログラミングでは、コードとアイデアの絶対的な一貫性に注意を払いますが、コードがアイデアの特定のプロセスに対応していない場合、アイデアはコードと乖離しており、コードの出所を検証する必要があります。オブジェクト指向の記述により、コードとアイデアを一致させるためには、カプセル化のみが可能になります。これは、コードをより正確に準拠させるために、事前に「何をすべきか」を自分でカプセル化するか、他の人を使用してカプセル化するかを知る必要があることを意味します。オブジェクト指向の記述では、プログラムの最終的な処理時間に影響するため、それぞれの量を使用してそれが何であるかを想像する必要がありますが、通常の量は多くの場合、このように記述されたコードで正確な値を 1 つずつ知ることができます。として読む: ファイルを読み書きするが、次のように読むのは簡単ではありません: ファイルは何をするのですか? 前に述べたように、オブジェクト指向とは何かをいつでも行うので、通常は使用します。このオブジェクトを表すインスタンス化されたクラス。インスタンス化されたクラスにはメソッドが含まれているため、このインスタンス化されたクラスを使用すると、コードを記述するときにこの量を通じてクラス内のメソッドを呼び出すことができます。これは、「何かが何をするのか」とより一貫性があります。
例: read($file); 「このファイル」を読む、ここでの焦点は「読み取り」です、ファイルは単に読み取られるものであり、読み取りはプロセスです。この考え方はオブジェクト指向とは言えず、プロセス指向と言えます。オブジェクト指向は、「何かが何をするのか」と一貫している必要があります。 $file->read(); このように書くと、file->read であることが分かり、「ファイル」が読み込みであることが分かります。それで。オブジェクト指向のカプセル化は、コードを思考の記述とより一貫性のあるものにするだけです。 書くためには、コードは思考の記述とより一貫しています。これは、面倒で冗長に見えるかもしれませんが、実際には、このクラス A ファイルを使用するときにコードが考え方と一貫しているように見えるようにするためです。前回のブログでカプセル化したクラスで、ファイルが 2 つある場合、各ファイルをファイル A から読み取ってファイル B に書き込みます。次に、これを使用します。この件について説明するクラス。
コードをコピー
$a = 新しいファイルクラス("a.txt");
$b = 新しいファイルクラス("b.txt");
//A 自分のファイルを読み上げます
$data = $a->read();
//Bこのファイルに注目してください
$b->write($data);
echo $b->read();
コードをコピー
完全なコードは次のとおりです
コードをコピー
クラスファイルクラス{
パブリック $size = 0;
パブリック $name = '';
パブリック関数 __construct($file) {
$size = ファイルサイズ($file);
$this->size = $size;
$this->name = $file;
}
関数read() {
$fp = fopen($this->name, "r");
$data = fread($fp, filesize($this->name));
$data を返す;
}
関数 write($data, $op = 'a') {
$fp = fopen($this->name, $op);
$rs = fwrite($fp, $data);
$ rs を返します。
}
}
$a = 新しいファイルクラス("test.txt");
$b = 新しいファイルクラス("b.txt");
//A 自分のファイルを読み上げます
$data = $a->read();
//Bこのファイルに注目してください
$b->write($data);
echo $b->read();
?>
コードをコピー
もちろん、$b->write($data); は、最初の実行でエラーが発生することを確認するために、この記述を実装するために準備されています。オブジェクトは次のように見えます 生きているオブジェクトに似ており、それ自体の名前を知っている必要があります。そのサイズを知っておく必要があり、「何かを行う」ことができる必要があるため、test.txt b.txt が存在する必要があります。このため、カプセル化についてさらに考慮する必要があります。したがって、クラスをカプセル化する前に、クラスを正式に起動するには、使用方法の説明を満たす方法でカプセル化する必要があります。ライブラリ pear は、事前にカプセル化されたパッケージを多数提供しています。他の場所からクラスを知っている場合、それをどのように使用すればよいでしょうか。最初のステップは、このクラスがどのオブジェクトのために開発されたのかを知ることです。クラスがオブジェクト用に開発されていない場合、それは単なるカプセル化の手段であり、カスタム関数として使用できます。ステップ 2: このクラスがオブジェクトにどのような属性とメソッドを提供するかを知る。属性を通じて、オブジェクトのどのパラメータを取得できるか。 。または属性値を変更します。オブジェクトにどのような変更を加えることができるのか、また、これらのメソッドによってオブジェクトに何かを実行させることができるのか、このプロセスの実行方法を詳しく知りたい場合は、心配する必要はありません。 、「他の人のクラスのソース コードを見てみる」に移動できます。 先ほどのコンテンツにはテンプレート技術であるコード分離が含まれています。原則として、出力を制御するすべてのコードを別のファイルに記述し、出力が必要なときにそれを含めます。重要な点は、テンプレート ファイル内の変数には厳密な規則が必要であり、どの変数が出力できるかを知っている必要があるということです。テンプレート内で変数に値を正確に割り当てることができます。もう 1 つのテンプレート原則として、テンプレート上にさまざまなマークが付けられるマーク タイプ テンプレートがあります。次に、割り当てる変数とトークンを 1 つずつ置き換えます。 変数名の競合を避けるために、変数を一時的に別の場所に保存することがよくあります。 表示するときは、これらの変数が取得、処理されて、テンプレートに割り当てられます。 値を直接割り当てるか、値を置き換えるか。 これらのプロセスの管理を容易にするために、通常はカプセル化を選択します。 1 つはコードの再利用を容易にすることです。 2 つ目は、現在のコードの変数を分離することで、さまざまなアイデアを使用したテンプレートのカプセル化が登場しました。 他人が梱包したもの。原理さえ分かれば、変数を置き換えたり、値を直接代入したりするだけです。 そこで再びスマートについて言及されました。 。 。スマートなコンテンツについては次の記事を参照してください。 。
http://www.bkjia.com/PHPjc/756541.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/756541.html技術記事注: 内容がより関連しているため、この記事を読む前に、以前の記事を読むことをお勧めします。スプレーしないでください。 。 オブジェクト指向は思考様式の名前であり、特定のことを指すものではありません...