ホームページ  >  記事  >  バックエンド開発  >  PHPの抽象メソッドと抽象クラス

PHPの抽象メソッドと抽象クラス

高洛峰
高洛峰オリジナル
2017-02-18 16:37:311242ブラウズ

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

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

例:
abstract function fun1();
abstract function fun2(); 2. 抽象クラスとは何ですか? 1 つのクラスにメソッドが存在する限り、抽象メソッドが存在し、このクラスは抽象クラスとして定義され、抽象クラスも "ABSTRACT" キーワードを使用して抽象クラス内でメソッドを変更できます。抽象メソッドやメンバ属性は使用できませんが、抽象メソッドがある限り、そのクラスは抽象クラスとして宣言され、「abstract」で装飾される必要があります。

例:

抽象クラスデモ{

var $test;

abstract function fun1();

abstract function fun2();

}

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

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

abstract クラス。 mode{

var $test;

abstract function fun1(); mode (); //抽象クラスはインスタンス オブジェクトのみを生成できるため、インスタンス化されたオブジェクトはサブクラスに渡されます

class test extends mode{

function fun1(){

....

}

function fun2(){

....

}

}

$test = new test(); //すべての親クラスの抽象化が実装されているため、サブクラスはオブジェクトをインスタンス化できます。メソッド

PHP の抽象メソッドと抽象クラスに関連するその他の記事については、PHP 中国語 Web サイトに注目してください。

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