PHP抽象クラスの基本的な使い方チュートリアル

伊谢尔伦
リリース: 2023-03-12 08:14:02
オリジナル
1000 人が閲覧しました

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

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

abstract class ClassName{ 
}
ログイン後にコピー

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

PHP抽象クラス適用の要点:
1. 抽象メソッドは特定の関数を実装する必要がなく、完成されていますサブクラスによる
2. サブクラスで実装される 抽象クラスのメソッドが使用される場合、そのサブクラスの可視性は抽象メソッドの定義以上である必要があります
3. 抽象クラスのメソッドはパラメータを持つことも、空であることもできます
4. 抽象メソッドにパラメータがある場合、サブクラスの実装にも同じ数のパラメータが必要です

PHP 抽象クラスのアプリケーション例:
abstract public function_name() //中かっこがないことに注意してください
PHP abstractクラスのルール:
クラスに少なくとも 1 つの抽象メソッドが含まれている限り、抽象クラスとして宣言する必要があります。
抽象メソッドには、抽象クラスを継承する 関数 body
サブクラスを含めることはできません。 抽象メソッドを実装する人は、同等以下のアクセス権を持っている必要があります。抽象メソッドとしてのレベル
抽象クラスを継承するサブクラス。すべての Abstract メソッドを実装していない場合、このサブクラスも抽象クラスです。デモンストレーションとして、単純な抽象クラスを実装してみましょう: 長方形の面積を計算します。この長方形は形状クラスから拡張できます。

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

<?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 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート