PHP抽象クラス入門_PHPチュートリアル

WBOY
リリース: 2016-07-21 15:18:00
オリジナル
665 人が閲覧しました

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

PHP抽象クラスアプリケーションのキーポイント:
1. いくつかのメソッドを定義し、サブクラスはこの抽象化のすべてのメソッドを完全に実装する必要があります
2. からオブジェクトを作成することはできません抽象クラス、その意味は拡張されることです
3. 抽象クラスには通常、抽象メソッドがあり、メソッドには中括弧がありません

PHP 抽象クラスアプリケーションのキーポイント:
1. 抽象メソッドは特定の関数を実装する必要はありません、そしてそれらはサブクラスによって完成されます
2. サブクラスが抽象クラスのメソッドを実装するとき、サブクラスの可視性は抽象メソッドの定義以上である必要があります
3. 抽象クラスのメソッドはパラメータを持つことができますまたは空にする
4. 抽象メソッドにパラメータがある場合、サブクラスの実装も同じ数のパラメータを持つ必要があります

PHP 抽象クラスの適用例:
abstract public function_name() //中括弧がないことに注意してください
; PHP 抽象クラスのルール:
クラスに少なくとも 1 つの抽象メソッドが含まれている限り、抽象クラスとして宣言する必要があります
抽象メソッドに関数本体を含めることはできません
抽象クラスのサブクラスを継承し、抽象メソッドを実装する必要があります抽象メソッドと同じか、それより低いアクセス レベルを持つ
抽象クラスのサブクラスが実装されていない場合は、それを継承します。 すべての抽象メソッドの場合、このサブクラスも抽象クラスです
デモとして、単純な抽象クラスを実装してみましょう: Calculate長方形の面積。この長方形は形状クラスから拡張できます。

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

< ?PHP
abstract class Shape {
abstract protected function get_area()//一般的なメソッドとは異なり、このメソッドには中括弧がありません。
// この抽象クラスのインスタンスは作成できません: $Shape_Rect= new Shape();
class Rectangle extends Shape{
private $height;
function __construct($width=0,
$height; =0) {
$this->width=$width;
$this->height=$height;
関数 get_area(){
echo ($this->width+$this->height) *2;
}
}
$Shape_Rect = new Rectangle(20,30);
?> これも簡単な例です。 PHP の使用法についてはこれ以上言いたくありません。個人的には、抽象クラスは一般に大規模なプロジェクトで使用されると思います。なぜなら、抽象クラスには遵守すべき「ルール」が多すぎて使いにくいと思うからです。もちろん、これは単なる私の意見です。さらにいくつか言いたいことがあります。PHP 抽象クラス アプリケーションは単一継承です。つまり、1 つのクラスからのみ継承できますが、クラス A とクラス B を継承する 1 つのクラスは継承できません。そのような関数を実装したい場合。 、インターフェイスを使用する必要があります。関連する知識については、当面は PHP インターフェイスの知識については説明しません。一言で言えば、単一の継承と複数のインターフェイスです。



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

www.bkjia.com

tru​​e

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

自然言語では、抽象概念をオブジェクトの大きな説明として理解します。これは、特定の種類のオブジェクトに共通する特徴です。 PHP でも同じことが当てはまります...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート