341 of 410 menu

Le mot-clé interface

Le mot-clé interface est utilisé pour créer des interfaces - des constructions spéciales qui définissent quelles méthodes une classe doit implémenter. Les interfaces contiennent uniquement des déclarations de méthodes sans leur implémentation. Une classe qui implémente une interface doit contenir toutes les méthodes déclarées dans l'interface.

Syntaxe

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

Exemple

Créons une interface simple et une classe qui l'implémente :

<?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"); ?>

Résultat de l'exécution du code :

'Logging to file: Test message'

Exemple

Une interface peut contenir plusieurs méthodes, et une classe doit toutes les implémenter :

<?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(); ?>

Résultat de l'exécution du code :

'Area: 78.5'

Voir aussi

  • la commande class,
    pour déclarer des classes
  • la commande trait,
    pour déclarer des traits
Français
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nous utilisons des cookies pour le fonctionnement du site, l'analyse et la personnalisation. Le traitement des données est effectué conformément à la Politique de confidentialité.
accepter tout personnaliser refuser