341 of 410 menu

interfaceキーワード

キーワードinterfaceは、インターフェースを作成するために使用されます。インターフェースは、クラスが実装すべきメソッドを定義する特別な構造です。インターフェースには、実装を含まないメソッドの宣言のみが含まれます。インターフェースを実装するクラスは、インターフェースで宣言されたすべてのメソッドを含む必要があります。

構文

interface InterfaceName { public function method1(); public function method2($param); // ... }

シンプルなインターフェースとそれを実装するクラスを作成しましょう:

<?php interface Logger { public function log($message); } class FileLogger implements Logger { public function log($message) { echo "ファイルへのログ記録: " . $message; } } $logger = new FileLogger(); $logger->log("テストメッセージ"); ?>

コード実行の結果:

'ファイルへのログ記録: テストメッセージ'

インターフェースは複数のメソッドを含むことができ、クラスはそれらすべてを実装する必要があります:

<?php interface Shape { public function calculateArea(); public function calculatePerimeter(); } class Circle implements Shape { private $radius; public function __construct($radius) { $this->radius = $radius; } public function calculateArea() { return 3.14 * $this->radius * $this->radius; } public function calculatePerimeter() { return 2 * 3.14 * $this->radius; } } $circle = new Circle(5); echo "面積: " . $circle->calculateArea(); ?>

コード実行の結果:

'面積: 78.5'

関連項目

  • クラスを宣言するためのコマンドclass
  • トレイトを宣言するためのコマンドtrait
日本語
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItalianoქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
当サイトでは、サイトの動作、分析、パーソナライゼーションのためにクッキーを使用しています。 データ処理はプライバシーポリシーに従って行われます。
すべて受け入れる 設定 拒否