PHP対象プログラムに向けて設計された多形性のアプリケーション例


本論文の実例は、PHPが対象プログラムに向けて設計した多形性の応用について述べる。皆さんに参考にしてあげます。具体的には以下の通りです。
多形は物体に向かう三つの特性の中でパッケージと引継ぎを除いたもう一つの重要な特性である。動的バインディングの機能を示し、「同名異形」とも呼ばれる。多形の機能は、ソフトウェアの開発とメンテナンス時に、十分な拡張性を達成することができます。実際、多形の最も直接的な定義は、継承関係を持つ異種のオブジェクトを、同じ名前のメンバー関数に呼び出し、異なる反応効果を生み出すことができる。多形性とは、プログラムで複数種類のオブジェクトを処理できる能力を指し、PHPで多形値とは、方法の書き換えです。方法書き換えとは、あるサブクラスの中で、親タイプのいくつかの方法を見直すことができ、自分の特徴を持つようにすることです。子を求める方法は、親の方法名と同じです。抽象的なクラスやインターフェースを宣言することによって規定されます。
私たちはコンピューターUSBデバイスの応用を通じて、対象の多形性を紹介します。現在USB設定の種類は私たちだけで使ったことがあると思います。例えば、USBマウス、USBキーボード、USBメモリなど、これらのコンピュータの外部デバイスは、USBインターフェースを介してコンピュータに接続された後、コンピュータによって起動されます。つまり、コンピュータが正常に動作している間に、違うUSBデバイスを挿入していません。コンピュータの拡張機能のようなものです。なぜUSBデバイスごとに違っていますが、コンピュータに適用されますか?それは、USB設定ごとにコンピュータのUSBポートの開発仕様を遵守し、コンピュータにロードされて有効にする方法が同じであるが、それぞれの機能が実行されるからです。これはまさに多形の定義です。もしメインプログラムが開発されたとしても、他の開発者によって機能を拡張する必要があります。しかし、メインプログラムを変更しないで、これらの拡張機能モジュールにロードする必要があります。つまり、プログラムのためにプラグインを開発します。これはメインプログラムで拡張プラグインのためにインターフェースの仕様を作成してください。そして各プラグインは仕様通りに自分の機能を実現してこそ、メインプログラムに適用されます。コンピュータにUSBデバイスを適用するプログラム設計を下記に示します。

<?php
//    iUSB  ,   USB         
interface iUSB{
function run();
}
class Computer{
//                  USB  
function useUSB($usb){
$usb->run();
}
}
?>

以下のコードはUSBインタフェースの定義仕様に従って、USBキーボード、USBマウス、USBメモリの3つのデバイスを実現しました。もちろん、より多くのUSB設定を実現できます。全部自分の設備の機能によってrun()方法を書き換えました。ですから、コンピュータを挿入して起動してから、各USBデバイスは自分の形態を持っています。コードは以下の通りです。

<?php
//    USB    ,  usb  
class Ukey implements iUSB {
function run(){
echo "  USB    <br>";
}
}
//    USB    ,  usb  
class Umouse implements iUSB {
function run(){
echo "  USB    <br>";
}
}
//    USB    ,  usb  
class Ustore implements iUSB {
function run(){
echo "  USB    <br>";
}
}
$computer =new Computer;
$computer ->useUSB(new Ukey()); //        usb    ,   
$computer ->useUSB(new Umouse()); //        usb    ,   
$computer ->useUSB(new Ustore()); //        usb    ,   
?>

運転出力:
USBキーボードデバイスを実行
USBマウスデバイスを実行
USBメモリを実行
PS:コードは原文より修正されました。デバッグして実行しました。
PHPについてもっと興味のある読者は、本駅のテーマを見てもいいです。「php対象プログラム設計入門教程」、「PHP配列(Aray)操作テクニック大全」、「PHP基本文法入門教程」、「PHP演算と演算子の使い方のまとめ」、「php文字列(string)使い方のまとめ」、「php+mysqlデータベース操作入門教程」および「phpよくあるデータベースの操作技巧のまとめ
本論文で述べたように、皆さんのPHPプログラムの設計に役に立ちますように。