抽象クラス:
1) 少なくとも 1 つの抽象メソッド (抽象関数) を含むクラス。言い換えれば、1 つ以上の抽象メソッドのみを持つクラスはすべて抽象クラスです。 2) 抽象クラスでは、
は具体的なメソッドを持つことができ、はメンバー変数を持つことができます。 3) 抽象クラス
はインスタンス化できません。これらはすべて抽象と呼ばれますが、どのようにインスタンス化できるのでしょうか? 2333. 4) 用途:
abstract
クラスのお父さん{
保護 (またはパブリックな変更をプライベートにすることはできません。そうでない場合、サブクラスはそれを取得できません)抽象関数 func1(); }
継承した抽象メソッドを実装する場合class Son extends Father{//通常のクラスと同様に、サブクラスは抽象クラスを1つだけ継承できます
public (抽象キーワードを削除) function func1{
echo 'すべての抽象メソッドを実装する必要があります'; }
}インターフェース:
1) インターフェースはすべて抽象メソッド
です。 (サブクラスの実装に使用されるため、パブリックである必要があります。) 2) インターフェース
は特定のメソッドを持つことができず、はメンバー定数のみを持つことができます。 3) クラス
は複数のインターフェースを実装することができます。 3) 使用法:
implements キーワードの後にカンマで区切って複数のインターフェースを実装します。 class Son implements
InterfaceA,InterfaceB,InterfaceC {//1. これら 3 つのインターフェースの 抽象メソッドをすべて実装する、2. 抽象メソッドの
パラメーターと完全に一致する 3. インターフェースの定数は上書きできない 。 }