ホームページ バックエンド開発 PHPチュートリアル PHP5 のクラスとオブジェクト - オブジェクト指向プログラミング [1]_PHP チュートリアル

PHP5 のクラスとオブジェクト - オブジェクト指向プログラミング [1]_PHP チュートリアル

Jul 21, 2016 pm 04:11 PM
and 著者 物体 プログラミング 翻訳する のために


著者:レオン・アトキンソン 翻訳:Haohappy オブジェクト指向プログラミングは、大規模なソフトウェア プロジェクト、特に複数人が関与するプロジェクトにソリューションを提供するように設計されています。ソース コードが 10,000 行以上になると、すべての変更が望ましくない副作用を引き起こす可能性があります。これは、モジュールが秘密の同盟を形成する場合に発生します。第一次世界大戦前のヨーロッパのようなものです。

//haohappy 注: これは、モジュール間の相関が高すぎ、相互依存性が強すぎることを意味します。その結果、他のモジュールも変更する必要があると考えてください。ログインの処理に使用されるモジュールを使用すると、クレジット カード処理モジュールがそのデータベース接続を共有できるようになります。もちろん、別のデータベース接続の費用を節約できるので、出発点は適切です。ただし、場合によっては、ログイン処理モジュールが変数の 1 つの名前を変更することがあります。これにより、両者の間の合意が分断され、クレジット カード モジュールで処理エラーが発生し、さらに請求書処理モジュールでエラーが発生する可能性があり、システム内のすべての無関係なモジュールがこれによって問題が発生する可能性があります。

大多数のプログラマーが結合とカプセル化に感謝しているのは、少し劇的なことだと思います。結合は 2 つのモジュール間の依存度の尺度であり、結合が少ないほど良いと考えられます。既存のプロジェクトを別の新しいプロジェクトで使用します。

また、他のモジュールへの影響を気にせずに、特定のモジュール内で大規模な変更を加えたい場合にも、カプセル化の原理がこのソリューションを提供します。モジュールは相対的なものとして扱われます。独立しており、モジュール間のデータ通信はインターフェイスを通じて行われます。モジュールは相互の変数名を覗くことはなく、関数を通じて丁寧にリクエストを送信します。

プログラミング言語で使用される原則。多くの手続き型言語では、怠惰になりがちです。オブジェクト指向プログラミングでは、プログラマーがカプセル化の原則に違反することはありません。プログラミングでは、モジュールはオブジェクトに編成されます。これらのオブジェクトにはメソッドとプロパティがあります。抽象的な観点から見ると、メソッドはオブジェクトの動作であり、プロパティです。プログラミングの観点から見ると、メソッドは関数とプロパティです。理想的なオブジェクト指向システムでは、システムはオブジェクトと、メソッドを介したオブジェクト間の関係で構成されます。セットをベイクする場合、クラスはオブジェクトのプロパティを定義します。 Cookie オブジェクトの場合、クラスは Cookie メーカーになります。クラスのプロパティとメソッドは、呼び出されるメンバーです。またはメソッド メンバーと表現することでデータ メンバーにアクセスできます。


各言語では、さまざまなアクセス方法が提供されます。 PHP は C++ から概念を借用し、識別子の下に関数と変数を含めるためのデータ型を提供します。 PHP が最初に設計されたとき、そして PHP3 が開発されたときでさえ、PHP はコード 100,000 行を超える大規模プロジェクトを開発する機能を提供することを目的としていませんでした。 PHP や Zend エンジンの発展により、大規模なプロジェクトを開発できるようになりましたが、プロジェクトがどれほど大きくても、クラス内にスクリプトを記述すればコードを再利用できます。これは、特に自分のコードを他の人と共有したい場合には良いアイデアです。

オブジェクトのアイデアは、コンピューター サイエンスの中で最もエキサイティングな概念の 1 つです。最初はそれをマスターするのは難しいですが、一度マスターすれば、心で考えることが非常に自然に感じられるようになるでしょう。



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

www.bkjia.com

tru​​e

http://www.bkjia.com/PHPjc/314098.html技術記事著者: Leon Atkinson 翻訳: Haohappy オブジェクト指向プログラミングは、大規模なソフトウェア プロジェクト、特に複数の人々が共同作業するプロジェクトにソリューションを提供するように設計されています...
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

字幕なしで映画を見ても心配しないでください。 Xiaomi、日本語と韓国語の翻訳のためのリアルタイム字幕Xiaoai Translationの開始を発表 字幕なしで映画を見ても心配しないでください。 Xiaomi、日本語と韓国語の翻訳のためのリアルタイム字幕Xiaoai Translationの開始を発表 Jul 22, 2024 pm 02:11 PM

7月22日のニュースによると、今日、Xiaomi ThePaper OSの公式Weiboは、Xiaoai翻訳が日本語と韓国語の翻訳にアップグレードされ、字幕なしのビデオやライブ会議を文字起こしして翻訳できるようになったと発表しました。リアルタイムで。対面同時通訳では、中国語、英語、日本語、韓国語、ロシア語、ポルトガル語、スペイン語、イタリア語、フランス語、ドイツ語、インドネシア語、ヒンディー語を含む 12 言語への翻訳がサポートされています。上記の機能は現在、次の 3 つの新しい携帯電話のみをサポートしています: Xiaomi MIX Fold 4 Xiaomi MIX Flip Redmi K70 Extreme Edition 2021 年には日本語と韓国語の翻訳に Xiao Ai の AI 字幕が追加される予定であると報告されています。 AI 字幕は、Xiaomi が自社開発した同時通訳技術を使用し、より高速で安定した正確な字幕読み取り体験を提供します。 1. 公式声明によると、Xiaoai Translator はオーディオおよびビデオ会場でのみ使用できるわけではありません

正規表現を使用してPHP配列から重複した値を削除します 正規表現を使用してPHP配列から重複した値を削除します Apr 26, 2024 pm 04:33 PM

正規表現を使用して PHP 配列から重複値を削除する方法: 正規表現 /(.*)(.+)/i を使用して、重複値を照合して置換します。配列要素を反復処理し、preg_match を使用して一致をチェックします。一致する場合は値をスキップし、一致しない場合は重複値のない新しい配列に追加します。

MySQLクエリ結果の配列をオブジェクトに変換するにはどうすればよいですか? MySQLクエリ結果の配列をオブジェクトに変換するにはどうすればよいですか? Apr 29, 2024 pm 01:09 PM

MySQL クエリ結果の配列をオブジェクトに変換する方法は次のとおりです。 空のオブジェクト配列を作成します。結果の配列をループし、行ごとに新しいオブジェクトを作成します。 foreach ループを使用して、各行のキーと値のペアを新しいオブジェクトの対応するプロパティに割り当てます。新しいオブジェクトをオブジェクト配列に追加します。データベース接続を閉じます。

C++ 関数がオブジェクトを返すときは何に注意する必要がありますか? C++ 関数がオブジェクトを返すときは何に注意する必要がありますか? Apr 19, 2024 pm 12:15 PM

C++ では、関数がオブジェクトを返すときに注意する点が 3 つあります。 オブジェクトのライフサイクルは、メモリ リークを防ぐために呼び出し元によって管理されます。ぶら下がりポインタを回避し、動的にメモリを割り当てるかオブジェクト自体を返すことにより、関数が戻った後もオブジェクトが有効なままであることを確認します。コンパイラーは、パフォーマンスを向上させるために、返されたオブジェクトのコピー生成を最適化する場合がありますが、オブジェクトが値セマンティクスによって渡される場合、コピー生成は必要ありません。

ミッドジャーニーを倒すために魔法で改造された「黒神話悟空」 このAI描画ツールは素晴らしいです。 ミッドジャーニーを倒すために魔法で改造された「黒神話悟空」 このAI描画ツールは素晴らしいです。 Aug 23, 2024 pm 09:42 PM

AI Ideogram がリアリズムと芸術的センスを競うとき、Ideogram は難しい道を切り開きました。画像上にテキストを正確に生成でき、フォントとレイアウトが美しいのです。この需要はニッチなものではありません。P ピクチャを使用せずにワンクリックでポスターやイラストを生成できるので、デザインについて何も知らない一般の人にとっても非常に適しています。以前、Ideogram のバージョン 1.0 について書きました。 8月21日にはバージョン2.0が登場し、よりリアルになり、ポスターのデザインもより強化され、テキストの特殊性も強化されました。聞いたことがないかもしれませんが、これは元 Google 従業員によって開発された AI 製品です。多くの欠点がありますが、ロングボードはコーナーでミッドジャーニーを「追い抜く」ことができます。行き方 https://ideogram.ai/A

内なるプログラマーを解き放つ: まったくの初心者のための C 内なるプログラマーを解き放つ: まったくの初心者のための C Oct 11, 2024 pm 03:50 PM

C は初心者がプログラミングを学ぶのに理想的な言語であり、効率性、汎用性、移植性などの利点があります。 C 言語の学習には次のことが必要です。 C コンパイラ (MinGW や Cygwin など) をインストールする 変数、データ型、条件文、ループ文を理解する main 関数と printf() 関数を含む最初のプログラムを作成する 実際のケースによる練習 (平均値の計算など) C言語の知識

PHP における配列とオブジェクトの違いは何ですか? PHP における配列とオブジェクトの違いは何ですか? Apr 29, 2024 pm 02:39 PM

PHP では、配列は順序付けられたシーケンスであり、要素はインデックスによってアクセスされます。オブジェクトは、new キーワードによって作成されたプロパティとメソッドを持つエンティティです。配列へのアクセスはインデックス経由で、オブジェクトへのアクセスはプロパティ/メソッド経由で行われます。配列値が渡され、オブジェクト参照が渡されます。

プログラミングは何のためにあるのか、それを学ぶと何の役に立つのか? プログラミングは何のためにあるのか、それを学ぶと何の役に立つのか? Apr 28, 2024 pm 01:34 PM

1. プログラミングは、Web サイト、モバイル アプリケーション、ゲーム、データ分析ツールなど、さまざまなソフトウェアやアプリケーションの開発に使用できます。その応用分野は非常に幅広く、科学研究、医療、金融、教育、エンターテイメントなど、ほぼすべての業界をカバーしています。 2. プログラミングを学ぶことは、問題解決スキルと論理的思考スキルを向上させるのに役立ちます。プログラミング中、問題を分析して理解し、解決策を見つけてコードに変換する必要があります。この考え方は、分析能力と抽象能力を養い、実際的な問題を解決する能力を向上させることができます。

See all articles