PHPで親クラスのメソッドを呼び出すオブジェクトを実装する方法

PHPz
リリース: 2023-04-04 10:56:01
オリジナル
1090 人が閲覧しました

PHP では、オブジェクトは独自のメソッドと親クラスから継承したメソッドを呼び出すことができます。場合によっては、サブクラスのメソッド内で親クラスのメソッドを呼び出したい場合がありますが、この場合は、PHP オブジェクトのメソッドを使用して親クラスのメソッドを呼び出す必要があります。

PHP で親クラスを呼び出すオブジェクトのメソッドを実装する方法について説明します。

1. 親キーワードを使用して親クラスのメソッドを呼び出す

PHP には、親クラスのメソッドを呼び出すために使用できるキーワード parent があります。サブクラス メソッドで parent::method() という形式を使用すると、親クラスで同じ名前のメソッドを呼び出すことができます。

たとえば、次の親クラスと子クラスがあります:

class Animal {
    public function eat() {
        echo 'Animal is eating...';
    }
}

class Cat extends Animal {
    public function eat() {
        parent::eat();
        echo 'Cat is eating...';
    }
}
ログイン後にコピー

上記のコードでは、Animal クラスに eat() があります。メソッドを継承し、Cat クラスは Animal クラスを継承し、eat() メソッドをオーバーライドします。 Cat クラスの eat() メソッドでは、親クラスの eat() メソッドが parent::eat() を通じて呼び出されます。

#Cat クラスの eat() メソッドを呼び出すと、Animal is eat...Cat is getting... が出力されます。

2. PHP 5.3 では、

parent キーワードの使用に加えて、親クラス メソッド

を呼び出すために

$this->parent を使用します。またはそれ以上の場合は、$this->parent の形式で親クラスのメソッドを呼び出すこともできます。

たとえば、上記の

Cat クラスを次の形式に変更できます:

class Cat extends Animal {
    public function eat() {
        $this->parent::eat();
        echo 'Cat is eating...';
    }
}
ログイン後にコピー
ここでは

$this->parent を使用します。 call 親クラスの eat() メソッドが追加され、Cat is eat... が出力されます。

3. 概要

parent キーワードまたは $this->parent を使用すると、PHP でオブジェクトを簡単に実装して呼び出すことができます。親クラスのメソッド。

親クラスのメソッドに変数パラメータがある場合、たとえば:

class Animal {
    public function eat($food1, $food2) {
        echo "Animal is eating $food1 and $food2";
    }
}

class Cat extends Animal {
    public function eat($food1, $food2) {
        //error, 不可使用parent::eat($food1, $food2)
    }
}
ログイン後にコピー
サブクラスでは、

parent::eat( $food1 , $food2) を使用して、親クラスのメソッドを呼び出します。親クラスの変数パラメーターはサブクラスの動作に影響を与える可能性があるため、PHP ではこのメソッドは許可されていません。パラメーターはサブクラス メソッドで再定義する必要があります。例:

class Cat extends Animal {
    public function eat($food1, $food2) {
        parent::eat($food1, $food2);
        echo "Cat is eating $food1 and $food2";
    }
}
ログイン後にコピー
上記は PHP でのオブジェクト呼び出しです。親クラスのメソッドの簡単な紹介。PHP オブジェクトが親クラスのメソッドを呼び出す方法を読者が理解するのに役立つことを願っています。

以上がPHPで親クラスのメソッドを呼び出すオブジェクトを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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