ホームページ >バックエンド開発 >PHPの問題 >php オブジェクト指向とはどういう意味ですか?

php オブジェクト指向とはどういう意味ですか?

青灯夜游
青灯夜游オリジナル
2021-06-30 11:49:484338ブラウズ

PHP におけるオブジェクト指向とは、対処すべき問題をオブジェクトに抽象化し、オブジェクトの性質や動作を通じてオブジェクトの実際の問題を解決することです。オブジェクト指向には、クラスとオブジェクトという 2 つの重要な基本概念があります。クラスはオブジェクトの抽象化であり、オブジェクトのプロパティとメソッドはクラス内で定義できます。オブジェクトはクラスのインスタンスであり、オブジェクトはクラスのインスタンスです。クラスはインスタンス化された後にのみ使用できます。

php オブジェクト指向とはどういう意味ですか?

#このチュートリアルの動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューター

オブジェクト指向は問題を抽象化することです。をオブジェクトに変換し、オブジェクトのプロパティと動作を通じてオブジェクトの実際の問題を解決します。私たちが通常オブジェクト指向と呼んでいるものは、正確にはオブジェクト指向プログラミング (OOP) と呼ばれるものであり、オブジェクト指向の一部です。

オブジェクト指向は主に次の 3 つの部分に分かれています:

  • オブジェクト指向分析 (OOA);

  • オブジェクト指向設計 (OOD);

  • オブジェクト指向プログラミング (OOP)。

オブジェクト指向における 2 つの重要な基本概念は、クラスとオブジェクトです。

1) クラス

世界のあらゆるものには独自の属性と方法があり、それによってさまざまなものを区別できます。例えば、人は身長、体重、肌の色などの属性を持ち、食べる、勉強する、歩くなどの活動も行うことができ、これらの活動は人間が持つ機能であると言えます。プログラムでは人間をクラス、身長をクラスの属性、歩行をクラスのメソッドとみなすことができます。

つまり、クラスとは、オブジェクト指向プログラミングの中核および基礎となる属性とメソッドの集合であり、クラスを通じて、特定の機能を実装するために使用される散在するコードを効率的に管理できます。たとえば、名前、身長、体重、年齢、性別の 5 つの属性を含み、サッカー、バスケットボール、重量挙げ、走り高跳びの 4 つの方法を定義するスポーツ クラスを作成します。

つまり、クラスは変数 (クラス属性) とその変数に作用する関数 (クラス メソッド) の集合であり、属性とメソッドがクラスの基礎となります。

2) オブジェクト

クラスは特定の機能を備えた抽象モデルですが、実際のアプリケーションではクラスもインスタンス化する必要があるため、クラスの概念が導入されます。物体。

オブジェクトはクラスのインスタンス化の結果であり、エンティティです。人間を例にとると、「黄色人種も人間である」という文には何の問題もありませんが、逆に「人間は黄色人種である」という文は間違っているはずです。黄色人だけでなく、黒人、白人などもいるからです。すると「黄色人種の人」は「人」クラスのインスタンスオブジェクトになります。

オブジェクトとクラスの関係は次のように理解できます: クラスはオブジェクトの抽象化であり、オブジェクトのプロパティとメソッドはクラス内で定義できます。オブジェクトはオブジェクトのインスタンスです。クラスはインスタンス化された後にのみ使用できます。

#オブジェクト指向プログラミングの特徴オブジェクト指向プログラミングには、カプセル化、継承、ポリモーフィズムという 3 つの主要な特徴があります。プログラミングにおけるコードの重視 再利用性、柔軟性、拡張性の必要性により、プログラミングにおけるオブジェクト指向プログラミングの地位が確立されました。

1) カプセル化

カプセル化とは、クラスの使用と実装を分離し、外部と通信するインターフェース (メソッド) を限定することです。このクラスを使用する開発者は、このクラスの使用方法を知るだけでよく、このクラスがどのように実装されるかを気にする必要はありません。そうすることで、開発者は他のことに集中できるようになり、同時にプログラム間の相互依存によって引き起こされる不都合も回避できます。

たとえば、コンピュータを使用する場合、各コンポーネントの具体的な用途を理解するためにコンピュータを分解する必要はなく、電源ボタンを押すだけでコンピュータが起動するため、パッケージ化のメリットが反映されています。 。

2) 継承

継承とは、派生クラス (サブクラス) が 1 つ以上の基本クラス (親クラス) のプロパティとメソッドを自動的に継承し、それらをオーバーライドできることを意味します。新しいプロパティまたはメソッドを作成または追加します。継承によりオブジェクトとクラスの作成が簡素化され、コードの再利用性が向上します。

たとえば、クラス A が定義されており、次にクラス B を定義します。クラス B には、クラス A と同じ属性とメソッドが多数あります。その後、クラス B を使用してクラス A を継承できます。 , そのため、クラス A の既存のプロパティやメソッドをクラス B で定義する必要がなくなり、プログラムの開発効率が大幅に向上します。

継承は単一継承と多重継承に分けられます。PHP は現在単一継承のみをサポートしています。これは、サブクラスが親クラスを 1 つだけ持つことを意味します。

3) ポリモーフィズム

オブジェクトの状態は変更可能です。オブジェクトは、同じクラスの別のオブジェクトと比較して異なる状態を持つことができ、同じプロパティとメソッドを持っていても、異なる状態を持つことができます。さらに、クラスは複数のサブクラスを派生できます。これらのサブクラスは、親オブジェクトの一部のプロパティとメソッドを保持しながら、いくつかの新しいメソッドとプロパティを定義したり、親クラスの既存のプロパティの一部を完全に書き換えたりすることもできます。ポリモーフィズムにより、ソフトウェアの柔軟性と再利用性が向上します。

推奨学習: 「PHP ビデオ チュートリアル

以上がphp オブジェクト指向とはどういう意味ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。