Daha önceki yazımızda methodlardan kısaca bahsetmiştik. Şimdi parametreli ve parametresiz methodlardan ve methodların aşırı yüklenmesinden bahsedeceğiz.
METHOD TANIMLAMA
Özel_Anahtar_Kelime Dönüş_Tipi Method_Adı (Method_parametreleri)
{
Method İçeriği;
}
Özel Anahtar Kelime : Bu alan dolu olmak zorunda değildir. Methoda erişim seviyelerini belirleyen private, protected, public gibi kelimeler ve static olup olmadığı yazılabilir.
Dönüş Tipi : Return ifadesi ile döndürülecek değerin tipi yazılır. Eğer herhangi bir değer dönmezse void yazılabilir.
Method Adı : Burada methoda dışarıdan erişirken kullanacağınız bir isim verilir. Eğer overloading yoksa her method adı farklı olmalıdır.
Method Parametreleri : Methodun yapacağı işlemlerde kullanacağı parametreler yazılmalıdır ve her parametre virgül ile ayrılmalıdır. Eğer bir parametre kullanılmayacaksa parantez içi boş bırakılmalıdır(Bu durumda parametresiz method olarak adlandırılır.)
Method İçeriği : Methodun yapacağı işlemler tanımlanır.
Methodlar bir kere tanımlandıktan sonra istenildiği kadar kullanılabilir.
Method Örneği ;
public static int OrtalamaHesapla (int deger1, int deger2) {
return (deger1 + deger2) / 2;
}
YAPILANDIRICI METHODLAR (CONSTRUCTORS)
Eğer metodun adı ile bulunduğu sınıfın adı aynı ise bu yapılandırıcı metottur.Sınıflarda yapılandırıcı metot olması zorunlu değildir. Yapılandırıcı metotlar new operatörü ile birlikte çalışır.
METHOD OVERLOADİNG (METHODLARIN AŞIRI YÜKLENMESİ)
Methodları birbirinden ayırt edebilmek için normalde farklı isimler kullanılır. Fakat methodların aşırı yüklenmesi işlemi sayesinde aynı isimli method ile değişik sayıda veya tipteki parametreler ile çağırılabilir.
Yukarıda da görüldüğü gibi ortalamaHesapla methodunu 4 defa farklı sayıda ve farklı tipteki parametreler ile tanımladık ve hesaplanmasını istediğimiz sayıların tip ve sayısına göre hesaplama gerçekleşti.
- Bir methodu overloading yapmak için farklı sayıda veya farklı tipte parametre kullanmak zorunludur. Yoksa overloading gerçekleşmez.
- Sadece return tipini değiştirmek overloading olmasını sağlamaz.
Devamı için takipte kalınız.