Bir Java sınıfında final
, bu yöntemin geçersiz kılınmayabileceğini işaretlemek için bir yöntem olarak tanımlanabilir :
public class Thingy {
public Thingy() { ... }
public int operationA() {...}
/** this method does @return That and is final. */
public final int getThat() { ...}
}
Bu açıktır ve yanlışlıkla geçersiz kılmaya veya belki de performansa karşı korunmak için bazı yararlı olabilir - ama bu benim sorum değil.
Sorum şu: OOP açısından bakıldığında final
, sınıf tasarımcısının bir yöntem tanımlayarak bu yöntemin her zaman açıklandığı veya ima edildiği gibi çalışacağını vaat ettiğini anladım . Ancak, yöntemin yaptığı şey daha karmaşıksa, sadece bir özellik sunmaktan sonra, bu genellikle sınıf yazarının etkisi dışında olabilir .
Sözdizimsel kısıtlama benim için açık, ama OOP anlamında ne anlama geliyor? Is final
En sınıf yazarlar tarafından bu anlamda doğru kullanıldığında?
Bir final
yöntem ne tür bir “sözleşme” vaat ediyor?