Kullanıcının bu sınıf atalım
class A {
protected static function ident() { return "I am A"; }
public static function say() { return "I say '".self::ident()."'!"; }
}
Sonra A sınıfını genişletir ve bu gibi ident() geçersiz kılmak gerekir
class B extends A {
protected static function ident() { return "I am B"; }
}
Şimdi B::say(); çağrıldığında, sonucudur I say 'I am A'. Üretmek için onu zorlamak için nasıl bir teknik var mı I say 'I am B' without overriding the say() method? (Please don't ask me why to do this, just trust me it is reasonable in my project)
Ben soyut bir sınıf veya arayüz ile mümkün olduğuna inanıyorum, ama nasıl bilemiyorum. PHP imkansız ise, bu özelliği uygular (Haskell'de hariç) herhangi bir dil var mı?