ホームページ > バックエンド開発 > PHPチュートリアル > [ディスカッション] オブジェクト指向に少し飽き始めています。あなたがどう思っているかわかりません。

[ディスカッション] オブジェクト指向に少し飽き始めています。あなたがどう思っているかわかりません。

WBOY
リリース: 2016-06-13 13:35:42
オリジナル
920 人が閲覧しました

[ディスカッション] オブジェクト指向には少し飽きてきましたが、どう思いますか?
私が初めてオブジェクト指向に触れたのは Java だったと記憶しています

その後、PHP を使い始めました。オブジェクト指向の特徴は、継承、カプセル化、ポリモーフィズムです。

1. 継承するオブジェクトが多すぎると、それらがどこから来たのかがわかりません (もちろん、これは設計者の問題ですが、特にプログラマーのコード記述はあまり得意ではないようです)ビジネスが複雑な場合。
Web サイトには多くのデータ ソースがあり、キャッシュ (ここでは特にメモリを指します)、ファイル、データベースなど、何か問題が発生した場合、データがどこから来たのかわかりません。それらを一つずつ排除してください。梱包が直接邪魔です。

2. カプセル化は本来、上位層が下位層を意識する必要がないようにするためのものであり、同時にデータは封印され、メソッドのみが外部に提供され、変更されません。外側から。しかし、一般に、企業内の分業は、データ ソース層とロジック層を特別に作成する人によって行われるわけではありません。代わりに、分業は基本的にビジネスに基づいています。私のデータ アクセス層に問題がないとあえて言える人はいませんし、私のクラスの 1 つに問題がないとあえて言える人もいません。データのカプセル化に関しては、Web に関してはあまり意味がありません。

3. ポリモーフィズム。 PHP ではこれをサポートしておらず、メソッドの書き換えのみをサポートしています。


また、PHP オブジェクトを呼び出すにはハッシュ テーブルを複数回チェックする必要があるため、パフォーマンスは高くありません。実際、PHP クラスはハッシュ テーブルを使用して実装されます。配列と比較すると、配列の上のハッシュ テーブルにカプセル化されます。配列を使用した方が良いでしょう。

PHP のオブジェクト指向アプリケーションの場合、サムネイルの生成、データベース操作のカプセル化、画像操作のカプセル化などの場所で使用するのが非常に適していると思います。


議論へようこそ。

-----解決策---------
オブジェクト指向は考え方です
オブジェクト指向プログラミングは手法です

ソフトウェア エンジニアリングには、トップダウン分析とボトムアップ プログラミングが含まれます。プロセス指向のプログラミング アプローチについて説明する際、彼は関係するすべての詳細についての深い理解を必要とします。
オブジェクト指向プログラミング手法は、トップダウン分析とトップダウンプログラミングです。最初から詳細を知る必要はなく、途中で明らかにしていきます。まだ理解していない空のオブジェクトをリンクに置くだけです

オブジェクト指向はプログラミングに多くの利便性をもたらしますが、必然的にシステムのオーバーヘッドが増加します
これが Windows オペレーティング システムの理由です当初の10Mから今の300とか400Mになり、機能もだいぶ増えましたが、速度はどんどん速くなってきました


------解決策----------------------
まさに上記で述べたことです。

従来のプログラミングはデータ構造 + 関数です。オブジェクト指向の考え方では、データ構造とデータ構造の操作方法になり、関数の分割がより明確になります。

C 言語にはポインタや関数ポインタがあり、指定したアドレスのメモリを直接操作できます。C を使用してオブジェクト指向の導出などを実装するのは非常に簡単ですが、ほとんどの言語では可能です。そのような柔軟な機能はないので、オブジェクト指向言語の機能をサポートするためにクラスが提供されています。

さらに、オブジェクト指向は凝集性を重視します。つまり、異なるオブジェクト間の通信は明確なメッセージに大きく依存するため、開発中のインターフェイスの設計はより要求が厳しくなります。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート