Rajapintojen vakiot OOP:ssa PHP:ssä
Rajapinnat eivät voi sisältää luokkien ominaisuuksia, mut ne voivat sisältää vakioita. Rajapintojen vakiot toimivat täsmälleen samalla tavalla kuin luokkien vakiot, poikkeuksena siitä, että niitä ei voi ylikirjoittaa perivässä luokassa tai rajapinnassa.
Esimerkkinä teemme rajapinnan iSphere,
joka kuvaa luokkaa pallon käsittelyyn.
Tässä pallossa meidän on löydettävä
tilavuus ja pinta-ala. Tätä varten me
tarvitsemme Piin. Asetetaan se vakiona
meidän rajapintaamme:
<?php
interface iSphere
{
const PI = 3.14; // Pi-luku vakiona
// Pallon konstruktori:
public function __construct($radius);
// Metodi pallon tilavuuden löytämiseksi:
public function getVolume();
// Metodi pallon pinnan alan löytämiseksi:
public function getSquare();
}
?>
Tee luokka Sphere, joka
toteuttaa rajapinnan iSphere.