ホームページ >バックエンド開発 >PHPチュートリアル >PHPの抽象メソッドと抽象クラスを詳しく解説

PHPの抽象メソッドと抽象クラスを詳しく解説

墨辰丷
墨辰丷オリジナル
2018-05-25 14:41:531439ブラウズ

この記事では主にphpの抽象メソッドと抽象クラスを紹介します。非常に優れた参考値です。エディターで見てみましょう

1. 抽象メソッドとは何ですか?

メソッドの言及がないクラスで定義したメソッドは、抽象メソッドです。いわゆるメソッド本体なしとは、宣言時に中括弧やその中身が存在しないことを意味しますが、宣言時にメソッド名の後に直接セミコロンを追加します。また、抽象メソッドを宣言する場合、メソッドにもキーワードを追加する必要があります。 .「abstract」を変更します。

例:

abstract function fun1(); 
abstract function fun2();

2. 抽象クラスとは何ですか?

クラス内のメソッドが抽象メソッドである限り、そのクラスは抽象クラスとして定義され、抽象クラス内にはメソッドとメンバー属性が存在する可能性があります。ただし、抽象メソッドがある限り、クラスは抽象クラスとして宣言し、「abstract」で変更する必要があります。

例:

abstract class demo{
var $test;
abstract function fun1();
abstract function fun2();
}

3. 抽象クラスの役割は何ですか?

上記の例では、抽象クラス「demo」が定義され、「abstract」で変更されています。このクラスには、メンバー属性「$test」が定義されており、2 つの抽象メソッド「fun1」と「fun2」も定義されています。非抽象メソッド fun3(); では、抽象クラスをどのように使用するのでしょうか。最も重要な点は、抽象クラスはインスタンス オブジェクトを生成できないため、直接使用できないことです。クラスを介してインスタンス化されたオブジェクトを使用しているため、抽象クラスはインスタンス オブジェクトを生成できません。抽象クラスを宣言するのはどうですか?抽象メソッドをサブクラスのオーバーロードのテンプレートとして使用します。この仕様は、サブクラスが抽象クラスを継承した後、サブクラスのニーズに応じて実装されることを要求します。サブクラスは親クラスのすべての抽象メソッドを実装する必要があります。そうでない場合、サブクラスにまだ抽象メソッドが存在する場合、サブクラスは依然として抽象クラスであり、抽象クラスから継承する必要があるのはなぜでしょうか。いくつかの関数を実装したい場合は、抽象クラスから継承する必要がある場合があります。そうしないと、抽象クラスを継承する場合、そのクラスに抽象メソッドを実装する必要があります。 :

abstract class mode{
 var $test;
 abstract function fun1();
 abstract function fun2();
 function fun2(){
  ....
 }
}
$mode = new mode(); //抽象类只能为产生实例对象,所以这样做是错的,实例化对象交给子类
class test extends mode{
  function fun1(){
  ....
  }
  
  function fun2(){
  ....
  }
}
$test = new test(); //子类可以实例化对象,因为实现了所有父类的抽象化方法

以上がこの記事の全内容です、皆様の学習に少しでもお役に立てれば幸いです。


関連する推奨事項:

PHP での PDO データ アクセス

抽象 レイヤー

抽象 クラスとインターフェイスの違い

PHP

抽象クラス

以上がPHPの抽象メソッドと抽象クラスを詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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