30 Mayıs 2017 Salı

Covariant Return Type

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
public class Parent{  
  public Object doSomething(){}  
 }  
 public class Child extends Parent{  
  public String doSomething() {}  
 }
Örnek
Hatalı 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
}
Örnek
Arayü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();
}



Hiç yorum yok:

Yorum Gönder