インターフェイスを使用して php_PHP チュートリアルでファクトリ デザイン パターンを実装するためのコード

WBOY
リリース: 2016-07-21 15:18:26
オリジナル
874 人が閲覧しました

PHP のインターフェイスは、C#/Java ほど直感的ではありませんが、制約クラスを定義する役割しか果たせませんが、OOP のカプセル化要件に基づいて、インターフェイスを使用すると、プロキシ設計パターンの実装など、プログラムのスケーラビリティを向上させることができます。

コードをコピーします コードは次のとおりです:

//ヒューマンインターフェイス
interface IHuman
{
function GetName()
}
//Man クラス、ヒューマンインターフェイス
class を実装します。 ManClass は IHuman を実装します
{
//名前メソッドを取得します
public function GetName()
{
return "I'm man."."
";
}
}
//人間の女性、ヒューマン インターフェイスを実装します
class WomanClass は IHuman を実装します
{
//Get name method
public function GetName()
{
return "I'm Woman."."
";
}
}
//クラス ファクトリ、別のインスタンスを生成必要に応じてオブジェクトを返します Return
class ManFactory
{
//パラメータに従ってインスタンス オブジェクトを取得します
public function GetIHuman($IHuman="man")
{
if($IHuman=="women")
{
return new WomanClass();
}
else if($IHuman=="man")
{
return new ManClass();
}
else
{
return null;
// 女性クラスを直接取得する
public function GetWoman()
{
return new WomanClass();
//return new ManClass();
//man クラスを直接取得する
public function GetMan()
{
return new ManClass();
}
$ManFactory=new ManFactory ();
$ManClass=$ManFactory->GetIHuman();
echo $ManClass->GetName();
$IHuman=$ManFactory->GetIHuman("女性") ;
echo $IHuman->GetWoman();
$Man=$ManFactory->GetMan(); echo $Man->GetName();
?>

実行結果:
私は女性です
私は男性です。



http://www.bkjia.com/PHPjc/325543.html

www.bkjia.com

tru​​e

http://www.bkjia.com/PHPjc/325543.html技術記事

PHP のインターフェイスは制約クラスを定義する役割しか果たせませんが、OOP のカプセル化要件に基づいて、インターフェイスを使用すると、エージェント設計モデルの実装など、プログラムのスケーラビリティを向上させることができます。
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート