ホームページ >バックエンド開発 >PHPチュートリアル >PHP抽象クラスの使い方は? PHP抽象クラス定義の使い方を詳しく解説

PHP抽象クラスの使い方は? PHP抽象クラス定義の使い方を詳しく解説

伊谢尔伦
伊谢尔伦オリジナル
2017-07-03 09:05:231719ブラウズ

PHP プログラマーにとって、習得するのが最も難しい点は、PHP 抽象クラス の適用です。初心者として、私はまだオブジェクト指向の知識を使ってプログラミングする準備ができていません。しかし、将来的には、クラスを使用してカプセル化したり、インターフェイスを使用してさまざまなモジュール形式でプログラムを開発したりすることは避けられません。 自然言語では、抽象概念をオブジェクトの大きな説明として理解します。これは、特定の種類のオブジェクトに共通する特性です。 PHP にも同じことが当てはまります。クラスを抽象化する場合、このクラスは、そのサブメソッドが実装する必要があるいくつかの動作を示すテンプレートである必要があります。

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

抽象クラスClassName{

}

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

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

2 .抽象クラスからオブジェクトを作成することはできません

、その意味は拡張されることです

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

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

1 . 抽象メソッドは実装する必要がない 特定の機能はサブクラスによって完成される

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

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

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

PHP 抽象クラスの適用例:

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

PHP 抽象クラスのルール:

クラスに少なくとも 1 つの抽象メソッドが含まれている限り、それは抽象クラスとして宣言される必要があります
  1. 抽象メソッドには、抽象クラスを継承する
  2. 関数
  3. 本体

    サブクラスを含めることはできません 抽象メソッドを実装するクラスは、抽象メソッドと同じかそれ以下のアクセスレベルを持つ必要があります
  4. 場合は、抽象クラスのサブクラスを継承します。すべての抽象メソッドが実装されていない場合、サブクラスも抽象クラスになります
  5. デモとして、単純な抽象クラスを実装してみましょう。長方形の面積を計算します。この長方形は形状クラスから拡張できます。
  6. <?php
    abstract class Shape {   
    abstract protected function get_area();   
    //和一般的方法不同的是,这个方法没有大括号   
    //你不能创建这个抽象类的实例:$Shape_Rect= new Shape(); 
    }   
    class Rectangle extends Shape{   
    private $width;   
    private $height;   
    function construct($width=0,$height=0){   
    
      $this->width=$width;   
      $this->height=$height;   
    }   
    function 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抽象クラス定義の使い方を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。