PHPインターフェイスクラスの実際の役割abstract class_PHPチュートリアル

WBOY
リリース: 2016-07-21 14:55:18
オリジナル
759 人が閲覧しました

多くの人がインターフェースと抽象クラスの違いを理解していません!私の理解を共有しましょう!

1.php インターフェイス クラス: インターフェイス

実際、多くの人が一緒にプロジェクトを開発する場合、全員が他の人が作成したクラスを呼び出すことになります。ある関数の実装メソッドに名前を付ける方法を教えてください。このとき、インターフェイス クラスを定義するときに、その内部のメソッドは次のように実装する必要があります。 : クリップボードにコピーLiehuo.Net Codes引用コンテンツ: [www.bkjia.com] インターフェイスショップ
{
パブリック関数 buy($gid);
パブリック関数 view($gid); ショップ インターフェイス クラスを宣言し、buy、sell、view の 3 つのメソッドを定義します。次に、このクラスを継承するすべてのサブクラスは、これらの 3 つのメソッドのいずれかを実装する必要があります。サブクラスがこれらの単語を実装していない場合、そのクラスは実行できません。実際、インターフェイス クラスは、端的に言えば、クラスのテンプレートであり、クラスの規則です。このカテゴリに属する​​場合は、どのような方法であっても、私の規則に従わなければなりません。それをどうするかはあなた次第です。

クリップボードにコピー引用コンテンツ: [www.bkjia.com]Liehuo.Net Codes 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 抽象クラス: 抽象

実は、この文をどこで見たか覚えていますが、抽象クラスは似ている部分を抜き出したものですが、実はそれが分かります。抽象クラスの役割は、多くのクラスが常に繰り返し記述している多くのメソッドを使用していることがわかった場合に、抽象クラスの使用を検討できることです。「クラスを書き換えることはできない。」パブリック クラスごとに、このパブリック クラスをインスタンス化し、同じメソッドを呼び出します。」 これは可能です。実際、これは抽象クラスの動作ですが、インスタンス化する必要がなくなります。この手順により、メソッドを呼び出すのと同じくらい便利になります。このクラスのメソッドを直接オーバーロードすることもできます。このメソッドをオーバーロードすることもできます。例:

クリップボードにコピー引用コンテンツ: [www.bkjia.com]Liehuo.Net Codes 抽象クラス 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;
public function __construct()
{
$this->itme_id = 2314;
}
public function open()
{
$ this-> ;sell($this->itme_id);
}
}
上記と同様に、store クラスを定義し、そのすべての部分、buy、sell、view を抽出し、これらのメソッドを抽象クラスに実装すると、それを継承するサブクラスがこれらのメソッドを自動的に取得します。サブクラスは独自の処理を行い、コードの重複を導入し、再利用性を向上させます。

結論: 抽象クラスはクラスのサービスプロバイダーです。サービスを提供しないことに不満がある場合は、それらを使用する必要はありません。あなた自身。

上記は、PHP インターフェイス クラスと抽象クラスについての私の謙虚な意見です。これら 2 つについて混乱している友人に役立つことを願っています。コメントがあれば、メッセージを残してください。

転載元: http://www.cnblogs.com/200831856/

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/364422.html技術記事多くの人はインターフェイスと抽象クラスの違いを理解していません。私の理解を皆さんと共有しましょう! 1.php インターフェイス クラス: インターフェイス 実際、多くの人が...
を開発するときの役割は非常に簡単です。
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート