この記事では、PHP オブジェクト指向開発におけるポリモーフィズムについて詳しく説明します。このチュートリアルが役立つことを願っています。
クラスのポリモーフィズム
1. ポリモーフィズムの概要と利点。
2. オペレーター: インスタンス。
3. ポリモーフィズムの単純な適用。
1. ポリモーフィズムの概要と利点
はじめに: ポリモーフィズムは、抽象化と継承に続くオブジェクト指向言語の 3 番目の機能です。
例: USB インターフェース、異なるものを接続すると、異なる機能が使用されます。
利点: OOP は単なる多くの関数や機能のコレクションではなく、クラス、継承、ポリモーフィズムを使用して私たちの生活の状況を記述することを目的としています。
2.オペレーター: インスタンス
PHP は、指定されたオブジェクトが指定されたオブジェクトに由来するかどうかを判断するために使用される型演算子です
形式:
コードは次のとおりです | コードをコピー |
クラス A {} $thing = 新しい A; |
3. ポリモーフィズムの簡単な応用
例 1:
コードは次のとおりです | コードをコピー |
クラスA{ } クラスB{ } $new = 新しい A; if ($新しいインスタンスオブ A) { |
例 2:
コードは次のとおりです | コードをコピー |
インターフェイス MyUsb { クラス Zip は MyUsb を実装します { クラス Mp3 は MyUsb を実装します { クラスMyPc { } $zip = 新しい Zip(); $mp3 = 新しい Mp3(); $p->Add_Usb($zip); |
213.29.11.16アップデートの例を追加しました
<頭>
/* 親クラス */
クラスMyObject{
public $object_name //書籍名
public $object_price //書籍の価格
public $object_num //本の数
public $object_agio //予約割引
;
function __construct($name,$price,$num,$agio){ //コンストラクター関数
$this -> オブジェクト名 = $name;
$this -> object_price = $price;
$this -> object_num = $num;
$this -> object_agio = $agio;
}
function showMe(){ // 出力関数
echo ' という文は表示されません。 ';
}
}
/* サブクラスブック */
class Book extends MyObject{ //MyObject のサブクラス。
public $book_type; // カテゴリ
function __construct($type,$num){ //コンストラクターメソッドを宣言します
$this -> book_type = $type;
$this -> object_num = $num;
}
function showMe(){ //親クラスの showMe メソッドを書き換えます
return '今回'.$this ->book_type.'Book'.$this->object_num.'this
';
}
}
/* サブクラス Elec */
class Elec extends MyObject{ //MyObject の別のサブクラス
function showMe(){ //親クラスの showMe メソッドを書き換えます
return '売れ筋の書籍:'.$this -> object_name.'
元の価格: '.$this -> object_price.'
特別価格: '.$this -> $this -> object_agio;
}
}
/* オブジェクトをインスタンス化します */
$c_book = new Book('Computer class',1000) // Book サブクラス オブジェクトを宣言します
;
$h_elec = new Elec('PHP Function Reference Collection',98,3,0.8); //Elec サブクラス オブジェクトを宣言します
echo $c_book->showMe()."
" //Book サブクラスの showMe() メソッドを出力します
echo $h_elec->showMe(); //Elec サブクラスを出力する showMe() メソッド
?>