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

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

Jun 13, 2016 pm 01:35 PM
array cache hash php windows

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

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

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

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

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


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

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


議論へようこそ。

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

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

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


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

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

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

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

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。 JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。 Apr 05, 2025 am 12:04 AM

JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

PHPでの後期静的結合を説明します(静的::)。 PHPでの後期静的結合を説明します(静的::)。 Apr 03, 2025 am 12:04 AM

静的結合(静的::) PHPで後期静的結合(LSB)を実装し、クラスを定義するのではなく、静的コンテキストで呼び出しクラスを参照できるようにします。 1)解析プロセスは実行時に実行されます。2)継承関係のコールクラスを検索します。3)パフォーマンスオーバーヘッドをもたらす可能性があります。

PHPマジックメソッド(__construct、__destruct、__call、__get、__setなど)とは何ですか? PHPマジックメソッド(__construct、__destruct、__call、__get、__setなど)とは何ですか? Apr 03, 2025 am 12:03 AM

PHPの魔法の方法は何ですか? PHPの魔法の方法には次のものが含まれます。1。\ _ \ _コンストラクト、オブジェクトの初期化に使用されます。 2。\ _ \ _リソースのクリーンアップに使用される破壊。 3。\ _ \ _呼び出し、存在しないメソッド呼び出しを処理します。 4。\ _ \ _ get、dynamic属性アクセスを実装します。 5。\ _ \ _セット、動的属性設定を実装します。これらの方法は、特定の状況で自動的に呼び出され、コードの柔軟性と効率を向上させます。

なぜ私のコードはAPIによってデータを返しているのですか?この問題を解決する方法は? なぜ私のコードはAPIによってデータを返しているのですか?この問題を解決する方法は? Apr 01, 2025 pm 08:09 PM

なぜ私のコードはAPIによってデータを返しているのですか?プログラミングでは、APIが呼び出すときにヌル値を返すという問題に遭遇することがよくあります。

マルチスレッドをC言語で実装する4つの方法 マルチスレッドをC言語で実装する4つの方法 Apr 03, 2025 pm 03:00 PM

言語のマルチスレッドは、プログラムの効率を大幅に改善できます。 C言語でマルチスレッドを実装する4つの主な方法があります。独立したプロセスを作成します。独立して実行される複数のプロセスを作成します。各プロセスには独自のメモリスペースがあります。擬似マルチスレッド:同じメモリ空間を共有して交互に実行するプロセスで複数の実行ストリームを作成します。マルチスレッドライブラリ:pthreadsなどのマルチスレッドライブラリを使用して、スレッドを作成および管理し、リッチスレッド操作機能を提供します。 Coroutine:タスクを小さなサブタスクに分割し、順番に実行する軽量のマルチスレッド実装。

一致式(PHP 8)とそれがスイッチとどのように異なるかを説明します。 一致式(PHP 8)とそれがスイッチとどのように異なるかを説明します。 Apr 06, 2025 am 12:03 AM

PHP8では、一致式は、式の値に基づいて異なる結果を返す新しい制御構造です。 1)Switchステートメントに似ていますが、実行ステートメントブロックの代わりに値を返します。 2)一致式の式は厳密に比較され、セキュリティが向上します。 3)スイッチステートメントの脱落の可能性を回避し、コードのシンプルさと読みやすさを向上させます。

Windowsの下のpython .whlファイルをどこからダウンロードしますか? Windowsの下のpython .whlファイルをどこからダウンロードしますか? Apr 01, 2025 pm 08:18 PM

Pythonバイナリライブラリ(.whl)のダウンロードメソッドは、Windowsシステムに特定のライブラリをインストールする際に多くのPython開発者が遭遇する困難を調査します。一般的な解決策...

Debianログを介してシステムのパフォーマンスを監視する方法 Debianログを介してシステムのパフォーマンスを監視する方法 Apr 02, 2025 am 08:00 AM

Debianシステムログ監視のマスターは、効率的な動作とメンテナンスの鍵です。システムの動作条件をタイムリーに理解し、障害をすばやく見つけ、システムのパフォーマンスを最適化するのに役立ちます。この記事では、一般的に使用されるいくつかの監視方法とツールを紹介します。 SysStat Toolkitを使用したシステムリソースの監視SysStat Toolkitは、CPUロード、メモリ使用量、ディスクI/O、ネットワークスループットなど、さまざまなシステムリソースメトリックを収集、分析、レポートするための一連の強力なコマンドラインツールを提供します。 MPSTAT:マルチコアCPUの統計。ピドスタ

See all articles