PHPインターフェイスクラスと抽象クラスの実際の役割_PHPチュートリアル

WBOY
リリース: 2016-07-21 15:43:13
オリジナル
883 人が閲覧しました

1.php インターフェイス クラス: インターフェイス
実際、その機能は非常に単純です。多くの人が一緒にプロジェクトを開発するとき、他の人が作成したクラスを呼び出すことがあります。その場合、その特定の機能をどうやって知ることができるのでしょうか。実装メソッドに名前を付けるには? このとき、インターフェイス クラスを定義するときに、そのクラス内のメソッドを次のようなサブクラスによって実装する必要があります。

コードをコピーします。
interface Shop
{
public function buy($gid);
public function view($gid);


ショップインターフェースクラスを宣言します。 buy、sell、view の 3 つのメソッドが定義されているため、このクラスを継承するすべてのサブクラスは、これら 3 つのメソッドのいずれかを実装する必要があります。サブクラスはこれらのメソッドを実装できません。実際、インターフェイス クラスは、端的に言えば、クラスのテンプレートであり、クラスの規則です。このカテゴリに属する​​場合は、どのような方法であっても、私の規則に従わなければなりません。それはあなた次第です:


コードをコピー
コードは次のとおりです: class BaseShop は Shop {
public function buy($gid)
{
echo(' ID:'.$gid. '商品');
}
public function sell($gid)
{
echo('ID: '.$gid.');
public function view($gid)
{
echo('ID: '.$gid.' の製品を閲覧しました。');
}
}


多くの人が作業する大規模なプロジェクトで考えてみてください。インターフェイス クラスがあると便利です。関数のメソッド名を他人に尋ねる必要がありません。もちろん、これが気に入ったら仕方ありません。
結論: インターフェイス クラスはクラスのリーダーであり、方向を示し、サブクラスは指定されたメソッドを完了する必要があります。
2.php abstract class: abstract
実は、抽象クラスとインターフェースクラスは部分的に似ているのですが、この文はどこかで似ている部分を抜き出したものを見た記憶がありますが、実は「Underthe真実」と書かれています。抽象クラスの役割は、多くのクラスが頻繁に書き換えているメソッドを使用していることがわかった場合、「書き換えられない」という場合に、抽象クラスの使用を検討できることです。クラスのそれぞれのパブリック クラスで、このパブリック クラスをインスタンス化し、同じメソッドを呼び出します。」 これで問題ありません。実際、これは抽象クラスの動作ですが、インスタンス化の手順が省略できるため、 を呼び出すのと同じくらい便利です。このクラスのメソッドを直接オーバーロードすることもできます。このメソッドをオーバーロードすることもできます。例:



コードをコピー

コードは次のとおりです:
abstract class BaseShop { public function buy($gid)
{
echo('ID: '.$gid の製品を購入しました.' );
}
public function sell($gid)
{
echo('ID: '.$gid.')
}
public function view($gid)
echo ( 'ID '.$gid の商品を閲覧しました。');
}
}
class BallShop extends BaseShop
{
var $itme_id = null;
$this-> itme_id = 2314;
}
public function open()
{
$this->sell($this->itme_id);
}
}


上記のようなストアを定義しました。すべての部分を抽出し、購入、販売、表示します。これらのメソッドは抽象クラスに実装されており、それを継承するサブクラスは自動的にこれらのメソッドを取得します。サブクラスは独自の処理を行い、コードの重複を導入し、改善します。再利用性。
結論: 抽象クラスはクラスのサービスプロバイダーです。サービスを提供しないと不満を感じる場合は、それらを使用する必要はありません。
はは、上記は PHP インターフェイス クラスと抽象クラスについての私の謙虚な意見です。これら 2 つについて混乱している私の友人に役立つことを願っています。何かコメントがあれば、メッセージを残してください。



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

www.bkjia.com

tru​​e

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

1.php インターフェイス クラス: インターフェイス 実際、それらの機能は非常に単純です。多くの人が一緒にプロジェクトを開発するとき、他の人が作成したクラスを呼び出すことがあります。その場合、どうやってそれらを知ることができるのかと疑問に思うでしょう...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!