PHP オブジェクト指向 – 継承とオーバーライド_PHP チュートリアル
PHP オブジェクト指向 – 継承とオーバーライド
PHP オブジェクト指向 – 継承とオーバーライド
継承:
PHP では、クラスに対する特別な操作を使用することで目的が達成されます。
クラスを定義するときは、extends を使用して、現在のクラス オブジェクトがどのクラス オブジェクトを継承するかを示します。
例:
クラスC
{
public $p_c = “値 c”;
}
クラス D は C を拡張します
{
public $p_d = “値 d”;
}
$o = 新しい D;
var_dump($o->p_c)
var_dump($o->p_d)
出力: string(7) “値 c” string(7) “値 d”
継承は 2 つのオブジェクト間を指します。では、これら 2 つのオブジェクトはどこにあるのでしょうか?
Instanceof 演算子 (オブジェクトが特定のクラスのインスタンスであるかどうかを判断します)
var_dump($o D のインスタンス);
出力: bool(true)
var_dump($o C のインスタンス);
出力: bool(true)
したがって、オブジェクトは現在のクラスのインスタンスであり、その継承元のクラスのインスタンスでもあります。
クラス D は C を拡張します
C クラス オブジェクトから継承された D クラス オブジェクト。
親クラス: 継承クラス、クラスC
サブクラス: 継承する必要があるクラス、クラス D
基本クラス: クラス C はクラス D の基本クラスです
拡張クラス: クラス D はクラス C の拡張クラスです。
重要:
phpは単一継承です。
継承の目的:
それは、特定の種類の既存の操作やデータを拡張または使用することにあります。
オーバーライド
継承時にメンバーの競合が発生した場合、PHPの対処方法は書き換えとなります。つまり、同じ名前を持つサブクラスのメンバーは、同じ名前を持つ親クラスのメンバーをオーバーライドします。同じ名前を持つ親クラスのメンバーは表示されません。
例:
1.
クラスP
{
パブリック $name = 'P';
}
クラス C は P を拡張します
{
パブリック $name = “C”;
}
$o = 新しい C;
echo $o->name;
2.
クラスP
{
パブリック $name = 'P';
パブリック関数sayName()
{
echo ‘parent::name’,$this->name;
}
}
クラス C は P を拡張します
{
パブリック $name = “C”;
パブリック関数sayName()
{
echo ‘self::name’,$this->name;
}
}
$o = 新しい C;
$o->sayName();
出力: self::name C
コンストラクターメソッドの書き換え:
例:
クラスP
{
public__construct()
{
echo “parent::construct”;
}
}
クラス D は P を拡張します
{
public__construct()
{
エコー "self::construct";
}
}
$o =新しい D;
出力: self::construct
必要に応じて、オーバーライドされた親クラス メソッドの実行を強制するには、親クラスを明示的に使用して、対応する親クラス メソッドを呼び出すことができます。
例:
クラスP
{
public__construct()
{
echo “parent::construct”;
}
}
クラス D は P を拡張します
{
public__construct()
{
P::__construct();
エコー "self::construct";
}
}
$o =新しい D;
出力:parent::construct self::construct
クラス内でキーワードを使用して、現在の親クラスを置き換えることができます
親キーワード
例:
クラスP
{
public__construct()
{
echo “parent::construct”;
}
}
クラス D は P を拡張します
{
public__construct()
{
親::__construct();
エコー "self::construct";
}
}
$o =新しい D;
親クラスの構築に対応するパラメータが必要な場合は、呼び出し時に親クラスの構築メソッドに必要なパラメータをメソッドに渡す必要があります。
例:
クラスグッズ
{
公開 $goods_name ;
公開 $goods_price;
パブリック関数 __construct($name,$price)
{
$this->goods_name= $name;
$this->goods_price= $price;
}
}
クラス GoodsBook は Goods を拡張します
{
公開 $pages;
パブリック関数 __construct($name,$price,$pages)
{
親::__construct($name,$price);
$this->pages= $pages;
}
} を使用する

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック

JSON (JavaScriptObjectNotation) は、Web アプリケーション間のデータ交換の一般的な形式となっている軽量のデータ交換形式です。 PHP の json_encode() 関数は、配列またはオブジェクトを JSON 文字列に変換できます。この記事では、PHPのjson_encode()関数の構文、パラメータ、戻り値、具体的な例などの使い方を紹介します。構文 json_encode() 関数の構文は次のとおりです。

Wedge オブジェクトは主に 2 つの方法で作成されることがわかっています。1 つは Python/CAPI を使用する方法、もう 1 つは型オブジェクトを呼び出すことによる方法です。組み込み型のインスタンス オブジェクトについては、両方のメソッドがサポートされています。たとえば、リストは [] または list() を通じて作成できます。前者は Python/CAPI で、後者は呼び出し型オブジェクトです。ただし、カスタム クラスのオブジェクトの場合は、型オブジェクトを呼び出すことによってのみ作成できます。オブジェクトを呼び出すことができる場合、そのオブジェクトは呼び出し可能ですが、それ以外の場合は呼び出し可能ではありません。オブジェクトが呼び出し可能かどうかは、対応する型オブジェクトにメソッドが定義されているかどうかによって決まります。のように

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

Python の __contains__() 関数を使用して、オブジェクトの包含操作を定義します。Python は、さまざまな種類のデータを処理するための多くの強力な機能を提供する、簡潔で強力なプログラミング言語です。その 1 つは、__contains__() 関数を定義してオブジェクトの包含操作を実装することです。この記事では、__contains__() 関数を使用してオブジェクトの包含操作を定義する方法とサンプル コードを紹介します。 __contains__() 関数は Pytho です

タイトル: Python の __le__() 関数を使用して 2 つのオブジェクト以下の比較を定義する Python では、特別なメソッドを使用してオブジェクト間の比較演算を定義できます。その 1 つは __le__() 関数で、以下の比較を定義するために使用されます。 __le__() 関数は Python のマジック メソッドであり、「以下」演算を実装するために使用される特別な関数です。小なり等しい演算子 (<=) を使用して 2 つのオブジェクトを比較すると、Python

PHP の Request オブジェクトは、クライアントからサーバーに送信される HTTP リクエストを処理するために使用されるオブジェクトです。 Request オブジェクトを通じて、リクエストを処理して応答するために、リクエスト メソッド、リクエスト ヘッダー情報、リクエスト パラメータなどのクライアントのリクエスト情報を取得できます。 PHP では、$_REQUEST、$_GET、$_POST などのグローバル変数を使用して、要求された情報を取得できますが、これらの変数はオブジェクトではなく配列です。リクエスト情報をより柔軟かつ便利に処理するために、次のことができます。

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

Javascript オブジェクトをループするにはどうすればよいですか?次の記事では、5 つの JS オブジェクト走査方法を詳しく紹介し、これら 5 つの方法を簡単に比較します。
