interface Greetable {
public function greet(): string;
}
class Person implements Greetable {
}Bu kod yüklendiğinde ne olur?
- aHiçbir şey; PHP'de interface'ler runtime'da göz ardı edilen opsiyonel ipuçlarıdır.
- b
Persongerekligreet()metodunu implemente etmediği için fatal error oluşur.✓ - c
Personsorunsuz derlenir;greet()boş gövdeyle otomatik üretilir. - dUyarı basılır ama sınıf yine de normal şekilde instantiate edilebilir.
Açıklama:Bir interface implemente eden sınıf, interface'in bildirdiği tüm metotları tanımlamalı ya da kendisi abstract ilan edilmelidir.
Person, greet()'i sağlamadan Greetable'ı implemente ettiği için PHP, sınıf tanımlanırken fatal error fırlatır ("Class Person contains 1 abstract method and must be declared abstract or implement the remaining methods").