自然言語では、抽象概念をオブジェクトの大きな説明として理解します。これは、特定の種類のオブジェクトに共通する特性です。 PHP にも同じことが当てはまります。クラスを抽象化する場合、このクラスは、そのサブメソッドが実装する必要があるいくつかの動作を示すテンプレートである必要があります。
PHP抽象クラスアプリケーションの定義:
抽象クラス ClassName{
}
PHP抽象クラスアプリケーションのキーポイント:
1. いくつかのメソッドを定義し、サブクラスはこの抽象化のすべてのメソッドを完全に実装する必要があります
2. からオブジェクトを作成することはできません抽象クラス、その意味は拡張されるべきです
3. 抽象クラスには通常、抽象メソッドがあり、メソッドには中かっこはありません
PHP 抽象クラスのアプリケーションの重要なポイント:
1. 抽象メソッドは特定の関数を実装する必要はありません、そしてそれらはサブクラスによって完成されます
2. サブクラスが抽象クラスのメソッドを実装するとき、サブクラスの可視性は抽象メソッドの定義以上である必要があります
3. 抽象クラスのメソッドはパラメータを持つことができますまたは空にする
4. 抽象メソッドにパラメータがある場合、サブクラスの実装にも同じ数のパラメータが必要です
PHP 抽象クラスのアプリケーション例:
abstract public function_name() //中かっこがないことに注意してください
; PHP 抽象クラスのルール:
クラスに少なくとも 1 つの抽象メソッドが含まれる限り、そのクラスは抽象クラスとして宣言されなければなりません
抽象メソッドに関数本体を含めることはできません
抽象クラスのサブクラスを継承し、抽象メソッドを実装するサブクラスは同じか、または抽象メソッドとしてアクセスレベルが低くなります
抽象クラスのサブクラスが実装されていない場合は、それらを継承します すべての抽象メソッドの場合、このサブクラスも抽象クラスになります
デモンストレーションとして、単純な抽象クラスを実装してみましょう: の面積を計算します矩形。この長方形は形状クラスから拡張できます。
コードは次のとおりです:
< ?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);
$Shape_Rect->get_area();
?>
これも基本的に PHP での抽象クラスの使用法を示しています。他にはあまり言いたくない。個人的には、抽象クラスは一般的に大規模なプロジェクトで使用されると思います。なぜなら、抽象クラスには遵守すべき「ルール」が多すぎて使いにくいと思うからです。もちろん、これは単なる私の意見です。さらにいくつか言いたいことがあります。PHP 抽象クラス アプリケーションは単一継承です。つまり、1 つのクラスからのみ継承できますが、クラス A とクラス B を継承する 1 つのクラスは継承できません。そのような関数を実装したい場合は、次のようにします。インターフェイスを使用する必要があります。関連する知識については、当面は PHP インターフェイスの知識については説明しません。一言で言えば、単一の継承と複数のインターフェイスです。
上記は PHP 抽象クラスの紹介です。その他の関連記事については、PHP 中国語 Web サイト (www.php.cn) に注目してください。