Java’da Metotların Dönüş Tipleri

Herkese merhabalar,

Bugünkü yazımızda öncelikli olarak overloaded metot(aşırı yükleme), overriding metot(üzerine yazma) veya yeni bir yöntem bildirmenize bağlı olarak, dönüş tipi olarak neyi bildirmenize izin verildiğine bakıcağız.

Overloaded Metotlarda Dönüş Tipi

Metotların overloaded olması,sadece adının değişmei değildir.Aynı adı taşıyan diğer metotlardan tamamen farklıdır. Bu nedenle, bir metodu kalıtım olarak alır overloaded ederseniz, istediğiniz herhangi bir dönüş tipini bildirebileceğiniz anlamına gelir. Aşağıdaki kod,overloaded metotda örnektir.

public class A{

void git() { }

}

public class B extends A {

String git(int x) {

return null;

}

}

Dikkat edilirse,A Sınıfından kalıtım alan B sınıfı git() metodunu alarak dönüş tipi ve parametre değişikliği yapmıştır.

Yapılmayacak olan ise;

public class A{

void git() { }

}

public class B extends A {

String git() {

// !!! uygun değildir.!sadece dönüştipi değil parametre de değiştirilmedlir.

return null;

}

}

Overriding metot(üstüne yazma)

Overriding metot, alt sınıfta kullanıldığında sadece kendi sınıfı ve üst sınıflarını döndürebilirsiniz.Örneği incelersek

class A{

A calistir(char c) {

return new A();

}

}

class B extends A {

B calistir(char c) {

return new B();

}

}

Overloading metotların dönüş tipini,parameterlerini değiştirebiliriz, fakat overriding metotların bunu yalnızca hiyerarşisindeki olanları değiştirebileceğini bilmemiz kod yazarken yardımcı olacaktır.

Yeni metotlarda dönüş tipleri

Metotlarda dönüş tiplerini yazarken bilmeniz gereken 6 kural vardır.

1.Dönüş tipi olan bir metotda null döndürebilirsiniz.

public Button buttonA() {

return null;

}

2.Diziler kendi türündeki tipleri döndürür.

public String[] a() {

return new String[] {“aa”, “bb”, “cc”};

}

3.İlkel dönüş tipine sahip bir metotda,dönüş tipinin alt kümesi olan herhangi bir değeri veya değişkeni döndürebilirsiniz.

public int a() {

char c = ‘c’;

return c; // char int alt kümesidir.

}

4.İlkel dönüş tipine sahip bir metotda, açıkça belirtilen dönüş tipine indirgenecek bir tipi döndürebilirsiniz.Dikkat değer kaybı yaşanır.(casting)

public int a () {

float f = 32.5f;

return (int) f;

}

5.Void dönüş tipine sahip bir metotda hiçbir şey döndürmemelisiniz.

public void a() {

return “değer döndür”;

// !! void deger tipi döndürmez.

}

6. Bir nesne referansı dönüş tipine sahip bir metotta, beyan edilen dönüş tipine dönüştürülebilen herhangi bir nesne tipini döndürebilirsiniz.

public Hayvan getHayvan() {

return new At(); // At Hayvan sınıfından gelir.

}

public Object getObject() {

int[] sayilar = {1,2,3};

return sayilar; // sayi dizisi döner.

}

public interface A { }

public class B implements A { }

public class TestA {

// metot A interface B sınıfı kullanıyor.

public A getA() {

return new B(); // Return interface

}

}

Yazımızdaki Kodlar ve daha fazlası sitemizde yeralmaktadır. http://latestsoftwaredevelopers.com/

Bu yazımızda Metotlarda dönüş tipleri konusunu inceledik. Umarız faydalı bir yazı olmuştur .Takip etmeyi unutmayın:)

Beğendiysen bir çay ısmarlayabilirsin ☕

Bana çay ısmarla

Java ile ilgili yorumlar

Yorum Paylaş

EMail Zorunlu alanlar * *