Константаҳо дар интерфейс дар ООП дар PHP
Интерфейсҳо наметавонанд хосиятҳои синфҳоро дар бар гиранд, вале метавонанд константаҳо дошта бошанд. Константаҳои интерфейсҳо ҳамон тавр кор мекунанд, ки константаҳои синфҳо, ба истиснои он ки онҳо наметавонанд аз ҷониби синфи меросгиранда ё интерфейси меросгиранда бознависӣ (override) шаванд.
Барои мисол интерфейси iSphere-ро месозем,
ки синферо барои кор бо кура тавсиф мекунад.
Дар ин кура мо бояд ҳаҷм ва масоҳати сатҳи кураро пайдо кунем.
Барои ин ба мо рақами Пи лозим аст.
Онро ҳамчун константаи интерфейси мо муқаррар мекунем:
<?php
interface iSphere
{
const PI = 3.14; // рақами Пи ҳамчун константа
// Конструктори кура:
public function __construct($radius);
// Усул барои ёфтани ҳаҷми кура:
public function getVolume();
// Усул барои ёфтани масоҳати сатҳи кура:
public function getSquare();
}
?>
Синфи Sphere-ро созед, ки
интерфейси iSphere-ро амалӣ мекунад (implement).