Interfejs jest klasa abstrakcyjna w ktorej wszystkie metody sa abstrakcyjne, nie-statyczne oraz publiczne. Jest to zbior nagłówkow metod za pomocą ktorych mozna sie komunikowac z obiektem (na pewno).
moze interfejsy w php nie maja zbyt duzego zastosowania bo to jezyk dynamiczny, ale w javie np uzywa sie ich aby okreslic czy jakas klasa jest w stanie wykonac dana czynnosc (np jesli implementuje Serializable to znaczy ze mozna ja serializowac, itd..).
Z tych cech interfejsow ktore podalismy wynika ze kazda metoda w klasie jest na pewno abstrakcyjna, wiec nie uzywamy tego keyworda.
interface costam
{
public function jedna();
public function druga();
}
interfejs moglbys zapisac za pomoca klasy abstrakcyjnej
abstract class costam
{
abstract public function jedna();
abstract public function druga();
}
jednak taki sposob zapisania nie pozwala na zaimplementowanie kilku interfejsow jednoczesnie , a jak zrobisz interface to mozesz ich i 100 zaimplementowac w klasie