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