Giriş
Covariant Return Type virtual bir metod A tipini döndürüyorsa, bu metodu yeniden gerçekleştiren bir alt sınıf A'dan kalıtan B tipini döndürebilir anlamına gelir.
Java Covariant Return Type özelliğini desktekler. Bu özelliklik Java 1.5 ile geldi.
Örnek
Doğru bir örnek şöyle
Hatalı bir örnek şöyle
Arayüz için şöyle yaparız. Elimizde bir arayüz olsun.
Covariant Return Type virtual bir metod A tipini döndürüyorsa, bu metodu yeniden gerçekleştiren bir alt sınıf A'dan kalıtan B tipini döndürebilir anlamına gelir.
Java Covariant Return Type özelliğini desktekler. Bu özelliklik Java 1.5 ile geldi.
Örnek
Doğru bir örnek şöyle
public class Parent{
public Object doSomething(){}
}
public class Child extends Parent{
public String doSomething() {}
}
ÖrnekHatalı bir örnek şöyle
public interface Exemplary
{
CharSequence getText();
}
public class Example implements Exemplary
{
@Override
public String getText(); // legal
}
public class BadExample implements Exemplary
{
@Override
public Integer getText(); // error
}
ÖrnekArayüz için şöyle yaparız. Elimizde bir arayüz olsun.
public interface SuperInterface {
SuperInterface getSomething();
}
Bu arayüzden kalıtan ve farklı bir nesne dönen covariant arayüz için şöyle yaparız.public interface SubInterface extends SuperInterface {
SubInterface getSomething();
}