Arayüzde bir kurucu tanımlamanın mümkün olmadığını biliyorum. Ama nedenini merak ediyorum, çünkü bence çok faydalı olabilir.
Dolayısıyla, bu arabirimin her uygulaması için bir sınıftaki bazı alanların tanımlandığından emin olabilirsiniz.
Örneğin, aşağıdaki ileti sınıfını düşünün:
public class MyMessage {
public MyMessage(String receiver) {
this.receiver = receiver;
}
private String receiver;
public void send() {
//some implementation for sending the mssage to the receiver
}
}
İleti arabirimini uygulayan daha fazla sınıfa sahip olabilmem için bu sınıf için bir arabirim tanımlarsanız, yapıcıyı değil, yalnızca gönderme yöntemini tanımlayabilirim. Peki, bu sınıfın her uygulamasının gerçekten bir alıcı setine sahip olmasını nasıl sağlayabilirim? Gibi bir yöntem kullanırsanız setReceiver(String receiver)
bu yöntemin gerçekten çağrıldığından emin olamıyorum. Yapıcıda bunu sağlayabilirim.