341 of 410 menu

Võtmesõna interface

Võtmesõna interface kasutatakse liideste loomiseks - spetsiaalseteks konstruktsioonideks, mis määratlevad, millised meetodid peab klass realiseerima. Liidesed sisaldavad ainult meetodite deklaratsioone ilma nende realiseerimiseta. Klass, mis realiseerib liidese, peab sisaldama kõiki liideses deklareeritud meetodeid.

Süntaks

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

Näide

Loome lihtsa liidese ja klassi, mis seda realiseerib:

<?php interface Logger { public function log($message); } class FileLogger implements Logger { public function log($message) { echo "Logimine faili: " . $message; } } $logger = new FileLogger(); $logger->log("Testsõnum"); ?>

Koodi täitmise tulemus:

'Logimine faili: Testsõnum'

Näide

Liides võib sisaldada mitut meetodit ja klass peab realiseerima need kõik:

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

Koodi täitmise tulemus:

'Pindala: 78.5'

Vaata ka

  • käsku class,
    klasside deklareerimiseks
  • käsku trait,
    trait'ide deklareerimiseks
Eesti
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Me kasutame saidi toimimiseks, analüüsi ja personaliseerimiseks küpsiseid. Andmete töötlemine toimub vastavalt Privaatsuspoliitikale.
nõustu kõigega häälesta keeldu