PHP抽象クラスの簡単な応用を詳しく解説_PHPチュートリアル

WBOY
リリース: 2016-07-13 17:13:46
オリジナル
909 人が閲覧しました

PHP プログラマーにとって、習得するのが最も難しいポイントは、PHP 抽象クラス アプリケーションの知識ポイントです。私は初心者なので、まだオブジェクト指向の知識を使ってプログラミングする準備ができていませんが、将来的には、クラスを使用してカプセル化したり、インターフェイスを使用してさまざまなモジュール形式でプログラムを開発したりすることは避けられません。

自然言語では、抽象概念をオブジェクトの大きな説明として理解します。これは、特定の種類のオブジェクトに共通する特性です。 PHP にも同じことが当てはまります。クラスを抽象化する場合、このクラスは、そのサブメソッドが実装する必要があるいくつかの動作を示すテンプレートである必要があります。

PHP抽象クラスアプリケーションの定義:

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

抽象クラス ClassName{

}

PHP抽象クラスアプリケーションのキーポイント:

1. いくつかのメソッドを定義する サブクラスは、この抽象化のすべてのメソッドを完全に実装する必要があります

2. 抽象クラスからオブジェクトを作成することはできず、その意味は拡張されることになります

3. 抽象クラスには通常、抽象メソッドがあり、メソッドには中括弧がありません

PHP抽象クラスアプリケーションのキーポイント:

1. 抽象メソッドは特定の関数を実装する必要がなく、サブクラスによって完成されます

2. サブクラスが抽象クラスのメソッドを実装する場合、サブクラスの可視性は抽象メソッドの定義以上である必要があります

3. 抽象クラスのメソッドはパラメータを持つことも、空にすることもできます

4. 抽象メソッドにパラメータがある場合、サブクラスの実装にも同じ数のパラメータが必要です

PHP抽象クラスのアプリケーション例:

abstract public function_name(); //中括弧がないことに注意してください

PHP 抽象クラスのルール:

クラスに少なくとも 1 つの抽象メソッドが含まれている限り、それは抽象クラスとして宣言される必要があります
抽象メソッドには関数本体を含めることはできません
抽象クラスを継承し、抽象メソッドを実装するサブクラスは、抽象メソッドと同じかそれ以下のアクセス レベルを持つ必要があります
抽象クラスを継承するサブクラスがすべての抽象メソッドを実装していない場合、そのサブクラスも抽象クラスです

デモンストレーションとして、長方形の面積を計算する単純な抽象クラスを実装してみましょう。この長方形は形状クラスから拡張できます。

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


抽象クラス Shape {
抽象保護関数 get_area(); //一般的なメソッドとは異なり、このメソッドには中括弧がありません
//この抽象クラスのインスタンスは作成できません: $Shape_Rect= new Shape(); }
クラス Rectangle は Shape を拡張します{
プライベート $width
プライベート $身長
関数 __construct($width=0,
$高さ=0){

$this->width=$width;

$this->height=$height;

}
関数 get_area(){
エコー ($this->幅+$this->高さ)*2; }
}
$Shape_Rect = 新しい長方形(20,30); $Shape_Rect->get_area(); ?>




これも簡単な例であり、基本的に PHP での抽象クラスの使用法を示しています。残りについてはこれ以上説明しません。個人的には、抽象クラスは一般に大規模なプロジェクトで使用されると思います。なぜなら、抽象クラスには遵守すべき「ルール」が多すぎて使いにくいと思うからです。もちろん、これは単なる私の意見です。さらにいくつか言いたいことがあります。PHP 抽象クラス アプリケーションは単一継承です。つまり、1 つのクラスからのみ継承できますが、クラス A とクラス B を継承する 1 つのクラスは継承できません。そのような関数を実装したい場合。 、インターフェイスを使用する必要があります。関連する知識については、当面は PHP インターフェイスの知識については説明しません。一言で言えば、単一の継承と複数のインターフェイスです。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/629113.html技術記事 PHP プログラマーにとって、習得するのが最も難しい点は、PHP 抽象クラスの適用です。初心者として、私はまだオブジェクト指向の知識を使ってプログラミングする準備ができていませんが、将来的には...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!