PHPのオブジェクト指向の概念| PHPでのオブジェクト指向プログラミング

公開: 2020-12-14

PHPは、メンバー関数と変数へのアクセスに関して柔軟なプラットフォームです。 PHPのOOPは、クラス、オブジェクト、およびさまざまなコンポーネントの関連付けを持つプログラミングスタイルをほのめかします。

PHPは、Web開発に使用されるサーバー側のプログラミング言語です。 PHPのオブジェクト指向プログラミングは、開発者が再利用可能で複雑なWebアプリケーションを構築するのに役立ちます。 オブジェクト指向プログラミングは、さまざまなコンポーネントの関連付けを参照し、継承、ポリモーフィズム、カプセル化、および抽象化の概念を中心に展開するプログラミングスタイルです。

OOPは、ユーザーがプログラムとコードの開発中にオブジェクトに集中できるようにプログラムされていますが、プロシージャには集中できません。 OOPは、プログラミングを実際の生活に近づけることにも焦点を当てています。 この記事では、PHPのコアOOP概念のいくつかを探求します。

目次

PHPの主要なオブジェクト指向の概念

PHPは、いくつかの概念をサポートするオブジェクト指向プログラミング言語です。 それらのいくつかは次のとおりです。

クラスとオブジェクト–クラスは、ローカル変数とローカルメソッドを含む、プログラマー定義のデータ型です。 これはオブジェクトのコレクションでもありますが、オブジェクトには同様のプロパティと動作があります。 クラスによって定義された単一のデータ構造インスタンスはオブジェクトです。 クラスは汎用であり、オブジェクトは固有です。 開発者はオブジェクトをインスタンス化できますが、クラスをインスタンス化することはできません。オブジェクトはクラスのインスタンスです。

インターフェイス– PHPのインターフェイスは、オブジェクトが実行できるアクションの説明です。 これは、クラスがすべてのインターフェイスキーワードで宣言されるのと同じ方法で記述されます。 インターフェイスで宣言されたメソッドはパブリックであり、同じextend演算子を持つクラスと同じように拡張できます。

抽象化-抽象化は、プログラミングの詳細と具体的な実装から、操作のタイプと可用性に焦点を移すという概念です。 抽象化により、開発者はプログラミングを簡単かつ一般的にすることができ、仕様を一般化するようなものになります。

コンストラクター–これは、クラスからオブジェクトが形成されるたびに自動的に呼び出される特殊な関数です。

デストラクタ–オブジェクトが削除されるか、スコープを離れるたびに自動的に呼び出される特別な関数です。

オーバーロード–これは特殊なタイプのポリモーフィズムであり、引数の種類に応じて、すべてまたは少数の演算子がさまざまな実装を持ちます。 同じ関数が複数の実装で過負荷になる可能性があります。

読む: PHPプロジェクトのアイデアとトピック

PHPの原則とオブジェクト指向の概念

PHPの主なオブジェクト指向プログラミングの原則は次のとおりです。

カプセル化-この概念は、バインディングプロパティ、メソッドを強調表示し、実装の詳細を非表示にします。 カプセル化の主な目的は、ソフトウェア開発中の複雑さを制限することであり、クラスオブジェクトの使用も簡素化します。 また、オブジェクトの内部状態を保護し、保守を容易にします。

継承-この概念は、クラス間の関連付けと整合しており、子クラスと親クラスの関係を強調しています。 また、子は親によって定義されたメソッドを使用します。

継承のコア機能は再利用性です。これは、開発者がデータベースからのデータコンポーネントの更新、追加、削除などの基本的な機能を提供する必要がある場合に非常に役立ちます。 継承は、単一レベルの継承とマルチレベルの継承としてセグメント化されます。

ポリモーフィズム-この用語は、複数の実装方法で個々のインスタンスを使用することを指します。 これは、ユーザーがセグメントを変更するか、その実行方法を変更することによってメソッドを定義できるようにする概念です。 ポリモーフィズムは、拡張可能なユースケースを実施するとともに、アプリケーションを維持することに重点を置いています。

また読む: PHPインタビューの質問

PHPでのオブジェクトの作成

何よりもまず、PHPでは、ユーザーが選択して同じクラスに複数のオブジェクトを作成できるクラスが作成されます。 各オブジェクトは、新しいキーワードを使用して作成されます。 クラスが作成されると、開発者は同じクラスに必要な数のオブジェクトを作成できます。

メンバー関数の呼び出し

オブジェクトが作成されると、開発者は演算子'->'を使用してクラスのメソッド関数と変数にアクセスできます。 1つのメンバー関数は、関連するオブジェクトのメンバー変数のみを処理できます。 メンバー関数を呼び出して、3冊の本の価格とタイトルを設定する方法を示す例を見てみましょう。

$ physics-> setTitle( "高校の物理学");

$ chemistry-> setTitle(“ Advanced Chemistry”);

$ maths-> setTitle(“ Algebra”);

$ physics-> setPrice(10);

$ chemistry-> setPrice(15);

$ maths-> setPrice(7);

値セットを取得するには、別のメンバー関数を呼び出すことができます。

$ physics-> getTitle();

$ chemistry-> getTitle();

$ maths-> getTitle();

$ physics-> getPrice();

$ chemistry-> getPrice();

$ maths-> getPrice();

これにより、次の結果が生成されます。

高校の物理学

高度な化学

代数

10

15

7

抽象クラスの作成

<?php

抽象クラスDBCommonMethods

{{

プライベート$host;

プライベート$db;

プライベート$uid;

プライベート$password;

パブリック関数__construct($ host、$ db、$ uid、$ password)

{{

$ this-> host = $ host;

$ this-> db = $ db;

$ this-> uid = $ uid;

$ this-> password = $ password;

}

}

?>

ここ、

  • 「抽象クラス」とは、オブジェクトの作成に直接使用できないクラスを指します。
  • 「$host、$ db…」は、さまざまな実装で一般的なクラス変数です。

インターフェイスの作成

次に、さまざまなデータベース変数を実装するための標準メソッドを含むインターフェイスを作成しましょう。

<?php

インターフェイスDBInterface

{{

パブリック関数db_connect();

パブリック関数insert($ data);

パブリック関数read($ where);

パブリック関数update($ where);

パブリック関数delete($ where);

}

?>

ここ、

  • 「インターフェース」はインターフェースを作成するためのキーワードです
  • 「パブリック関数」は、実装するための標準的な方法です

DBCommonメソッドのクラスとインターフェイスを拡張できる具象クラスを作成しましょう。

<?php class MySQLDriver extends

DBCommonMethodsはDBInterfaceを実装します{publicfunction__construct($ host、$ db、$ uid、$ password)

{{

親::__construct($ host、$ db、$ uid、$ password); }

public function db_connect(){//接続コードはここにあります}

public function delete($ where){//コードの削除はここにあります}

public function insert($ data){//挿入コードはここにあります}

public function read($ where){//読み取りコードはここにあります}

public function update($ where){//更新コードはここにあります}

}?>

関数のオーバーライド

子クラスの関数は、親クラスと同じ名前でオーバーライドされます。 子クラスでは、開発者は親クラスから継承された関数定義を変更できます。

関数getPrice(){

$this->priceをエコーし​​ます。 “ <br/>”;

$this->priceを返します。

}

関数getTitle(){

$this->titleをエコーし​​ます。 “ <br/>”;

$this->titleを返します。

}

可視性

PHPの各メソッドとプロパティには、以下で説明するprivate、public、protectedなどのキーワードによって宣言される可視性があります。

  • パブリック-外部からのすべてのユーザーがメソッドとプロパティにアクセスできるようにします。
  • プライベート-それ自体以外のユーザーにはアクセスを許可しません。
  • 保護-子クラスとそれ自体のみがメソッドとプロパティにアクセスできるようにします。

世界のトップ大学のソフトウェアエンジニアリングコースに登録します。 エグゼクティブPGプログラム、高度な証明書プログラム、または修士プログラムを取得して、キャリアを早急に進めましょう。

結論

この記事では、PHPでのオブジェクト指向プログラミングの基本的な概念について説明します。

フルスタックソフトウェア開発の詳細に興味がある場合は、upGrad&IIIT-Bのフルスタックソフトウェア開発のエグゼクティブPGプログラムをチェックしてください。これは、働く専門家向けに設計されており、500時間以上の厳格なトレーニング、9以上のプロジェクトを提供します。および割り当て、IIIT-B卒業生のステータス、実践的な実践的なキャップストーンプロジェクト、およびトップ企業との雇用支援。

フルスタック開発者になる

ソフトウェアエンジニアリングの修士号を今すぐ申し込む