PHP でインターフェイスを使用して多重継承を実装するにはどうすればよいですか? (コード例)

青灯夜游
リリース: 2023-04-05 11:28:02
オリジナル
3605 人が閲覧しました

多重継承は、サブクラスが複数の親クラスまたはスーパークラスのプロパティを継承できるオブジェクト指向プログラミング言語のプロパティです。では、PHP で多重継承を実装するにはどうすればよいでしょうか?以下の記事ではインターフェースを使用して多重継承を実現する方法を紹介しますので、ご参考になれば幸いです。

PHP でインターフェイスを使用して多重継承を実装するにはどうすればよいですか? (コード例)

PHP は多重継承をサポートしておらず、一度に 1 つのクラスのみを継承します。ただし、PHP の Interface 属性または Trait 属性を使用すると、多重継承を実現できます。

PHPで多重継承を実現するインターフェース(Interface)の使い方を紹介します。 [ビデオチュートリアルの推奨: PHP チュートリアル]

PHP では、インターフェイス ブロックは、このインターフェイスを実装するクラスを使用して定義される関数のセットを宣言します。クラスは複数のインターフェイスを拡張できるため、PHP で多重継承をシミュレートできます。

1. クラスとインターフェイスを使用して多重継承を実装する

構文:

class child_class_name extends parent_class_name implements interface_name1, ...
ログイン後にコピー

例:

<?php 
header("content-type:text/html;charset=utf-8");   
class A { 
   public function insideA() { 
    echo "我在类A中"; 
     } 
} 
  
interface B { 
   public function insideB(); 
} 
  
class Multiple extends A implements B { 
  
    function insideB() { 
        echo "<br><br>我在接口中"; 
    } 
  
    public function insidemultiple() { 
    echo "<br><br>我在继承类中"; 
    } 
} 
  
$phpzww = new multiple(); 
$phpzww->insideA(); 
$phpzww->insideB(); 
$phpzww->insidemultiple(); 
?>
ログイン後にコピー

出力:

PHP でインターフェイスを使用して多重継承を実装するにはどうすればよいですか? (コード例)

# コードの説明: インターフェイス "B" はクラス "A" とともに使用され、多重継承を実装します。覚えておくべき重要なことは、インターフェイス内で関数を定義することはできず、サブクラス「Multiple」で定義する必要があるということです。 「phpzww」という名前のサブクラス(複数)オブジェクトを使用してすべての関数を呼び出します。

#2. 複数のインターフェースを使用して多重継承を実装する

構文:

class child_class_name implements interface_name1, interface_name2, ...
ログイン後にコピー

例:

<?php 
header("content-type:text/html;charset=utf-8"); 
interface C { 
   public function insideC(); 
} 
  
interface B { 
   public function insideB(); 
} 
  
class Multiple implements B, C { 
  
    // 接口B的功能
    function insideB() { 
        echo "<br><br>我在接口B中"; 
    } 
  
    // 接口C的功能
    function insideC() { 
        echo "<br><br>我在接口C中"; 
    } 
  
    public function insidemultiple() 
    { 
        echo "<br><br>我在接口类中"; 
    } 
} 
  
$phpzww = new multiple(); 
$phpzww->insideC(); 
$phpzww->insideB(); 
$phpzww->insidemultiple(); 
?>
ログイン後にコピー
出力:

PHP でインターフェイスを使用して多重継承を実装するにはどうすればよいですか? (コード例)

コードの説明: 上記のコード例には、基本クラスの役割を果たす「B」と「C」という名前の 2 つのインターフェイスがあります。これは「Multiple」というサブクラスであり、すべての関数を呼び出すために「phpzww」というオブジェクトを使用します。

以上がこの記事の全内容です、皆様の学習のお役に立てれば幸いです。さらにエキサイティングなコンテンツについては、PHP 中国語 Web サイトの関連チュートリアルのコラムに注目してください。 ! !

おすすめ関連記事:

PHP は Trait 機能を使用して多重継承を実装する方法を教えてください。 (コード例)

以上がPHP でインターフェイスを使用して多重継承を実装するにはどうすればよいですか? (コード例)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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