341 of 410 menu

interface-avainsana

Avainsanaa interface käytetään rajapintojen luomiseen - erikoiskonstruktioihin, jotka määrittelevät mitkä metodit luokan on toteutettava. Rajapinnat sisältävät vain metodien ilmoitukset ilman niiden toteutusta. Rajapinnan toteuttavan luokan on sisällettävä kaikki rajapinnassa ilmoitetut metodit.

Syntaksi

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

Esimerkki

Luodaan yksinkertainen rajapinta ja sitä toteuttava luokka:

<?php interface Logger { public function log($message); } class FileLogger implements Logger { public function log($message) { echo "Lokitetaan tiedostoon: " . $message; } } $logger = new FileLogger(); $logger->log("Testiviesti"); ?>

Koodin suorituksen tulos:

'Lokitetaan tiedostoon: Testiviesti'

Esimerkki

Rajapinta voi sisältää useita metodeja, ja luokan on toteutettava ne kaikki:

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

Koodin suorituksen tulos:

'Pinta-ala: 78.5'

Katso myös

  • komento class,
    luokkien ilmoittamiseen
  • komento trait,
    piirteiden ilmoittamiseen
Suomi
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Käytämme evästeitä verkkosivuston toiminnalle, analytiikalle ja personoinnille. Tietojen käsittely tapahtuu Tietosuojakäytännön mukaisesti.
hyväksy kaikki mukauta hylkää