ინტერფეისის კონსტანტები PHP-ის OOP-ში
ინტერფეისებს არ შეუძლიათ შეიცავდნენ კლასების თვისებებს, მაგრამ შეუძლიათ შეიცავდნენ კონსტანტებს. ინტერფეისის კონსტანტები მუშაობენ ზუსტად ისე, როგორც კლასების კონსტანტები, გარდა იმისა, რომ მათ არ შეუძლიათ გადაფარვა მემკვიდრე კლასის ან ინტერფეისის მიერ.
მაგალითისთვის შევქმნათ ინტერფეისი iSphere,
რომელიც აღწერს კლასს სფეროსთან მუშაობისთვის.
ამ სფეროში ჩვენ დაგვჭირდება ვიპოვოთ
მოცულობა და ზედაპირის ფართობი. ამისთვის ჩვენ
დაგვჭირდება რიცხვი პი. განვსაზღვროთ ის როგორც ჩვენი ინტერფეისის კონსტანტა:
<?php
interface iSphere
{
const PI = 3.14; // რიცხვი პი როგორც კონსტანტა
// სფეროს კონსტრუქტორი:
public function __construct($radius);
// მეთოდი სფეროს მოცულობის საპოვნელად:
public function getVolume();
// მეთოდი სფეროს ზედაპირის ფართობის საპოვნელად:
public function getSquare();
}
?>
შექმენით კლასი Sphere, რომელიც
იქნება ინტერფეის iSphere-ის იმპლემენტაცია.