ホームページ >php教程 >php手册 >PHPのインターフェイスを使用してファクトリ設計パターンを実装するコード

PHPのインターフェイスを使用してファクトリ設計パターンを実装するコード

WBOY
WBOYオリジナル
2016-06-13 12:00:081004ブラウズ

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

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


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


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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。