341 of 410 menu

Parola chiave interface

La parola chiave interface viene utilizzata per creare interfacce - costruzioni speciali che definiscono quali metodi una classe deve implementare. Le interfacce contengono solo dichiarazioni di metodi senza la loro implementazione. Una classe che implementa un'interfaccia deve contenere tutti i metodi dichiarati nell'interfaccia.

Sintassi

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

Esempio

Creiamo una semplice interfaccia e una classe che la implementa:

<?php interface Logger { public function log($message); } class FileLogger implements Logger { public function log($message) { echo "Logging to file: " . $message; } } $logger = new FileLogger(); $logger->log("Test message"); ?>

Risultato dell'esecuzione del codice:

'Logging to file: Test message'

Esempio

Un'interfaccia può contenere diversi metodi e la classe deve implementarli tutti:

<?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 "Area: " . $circle->calculateArea(); ?>

Risultato dell'esecuzione del codice:

'Area: 78.5'

Vedi anche

  • il comando class,
    per dichiarare le classi
  • il comando trait,
    per dichiarare i tratti
Italiano
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesia日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Utilizziamo i cookie per il funzionamento del sito, l'analisi e la personalizzazione. I dati vengono elaborati in conformità con la Politica sulla privacy.
accetta tutto personalizza rifiuta