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
true
http://www.bkjia.com/PHPjc/325543.html技術記事
PHP のインターフェイスは制約クラスを定義する役割しか果たせませんが、OOP のカプセル化要件に基づいて、インターフェイスを使用すると、エージェント設計モデルの実装など、プログラムのスケーラビリティを向上させることができます。