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

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

Jun 13, 2016 pm 12:00 PM
phpコード効果使用存在する意味成し遂げる工場インターフェース親切制約デザインパターン

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 までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、