ホームページ  >  記事  >  バックエンド開発  >  PHPの抽象クラスとは何ですか?使い方?

PHPの抽象クラスとは何ですか?使い方?

王林
王林転載
2019-09-05 15:00:273410ブラウズ

PHPの抽象クラスとは何ですか?使い方?

抽象クラス: クラス内の少なくとも 1 つのメソッドは抽象メソッドであり、これを抽象クラスと呼びます。

要件:

1. クラスには少なくとも 1 つの抽象メソッドが必要です

2. 抽象メソッドは許可されていませんhave {}

3. Abstract

を抽象メソッドの前に追加する必要があります。例: クラスの前に abstract

<?php 
    abstract class Human {
        public abstract function getInfo () {
            echo &#39;我是getInfo&#39;;
        }
    }
?>

を追加して、次の抽象クラスを定義します人間。抽象クラスに抽象メソッドがあります。実行すると、エラーが報告されます。

Fatal error: Abstract function Human::getInfo() cannot contain body

抽象メソッドにはテキスト部分を含めることはできません (メソッド本体はありません)。中かっこを削除する必要があります

<?php 
    abstract class Human {
        public abstract function getUserInfo ();
        public abstract function getWalletInfo ();
    }
    
    class Student extends Human {
        public function getUserInfo () {
            echo &#39;getinfo&#39;;
        }
        
        public function getWalletInfo () {
            echo &#39;getwalletInfo&#39;;
        }
    }
    
    $Tom = new Student();
    $Tom -> getUserInfo();
    $Tom -> getWalletInfo ();
?>

Note:

1. 抽象クラスはインスタンス化できず、継承のみが可能です。
2. 継承された派生クラスでは、インスタンス化の前にすべての抽象メソッドをオーバーロードする必要があります

abstract class Human {
    public abstract function getUserInfo ();
    public abstract function getWalletInfo ();
}

class Student extends Human {
    public function getUserInfo () {
        echo &#39;getinfo&#39;;
    }
    
    // public function getWalletInfo () {
    //     echo &#39;getwalletInfo&#39;;
    // }
}

$Tom = new Student();

たとえば、派生クラスに getWalletInfo() メソッドがない場合、new は失敗します

抽象クラスの意味: 派生クラスが抽象クラスを継承する場合、メソッドを確立するために抽象クラスの命名規則を使用する必要があり、そうでない場合、派生クラスはインスタンス化できません。規範的手法の目的を達成するための仕様。

関連コンテンツをさらに知りたい場合は、php 中国語 Web サイトにアクセスしてください: PHP ビデオ チュートリアル

以上がPHPの抽象クラスとは何ですか?使い方?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。