Overloading, türkçede aşırı yükleme anlamına gelen bir söz dizisidir. Java’da bu durum şu şekilde karşımıza çıkmaktadır:
Birden fazla kez aynı isimle tanımlanmış bir metodun, bir sınıf içerisinde bulunmasıyla overloading durumu oluşur. Java’nın bu durumda hata vermemesinin nedeni, her metotta farklı bir değişkenin kullanılmış olmasıdır.
Bir örnek yapalım bununla ilgili.
public class Ogrenci {
public String Ogrenci_Adi;
public int Ogrenci_Yasi;
public int Ogrenci_Sinifi;
public Ogrenci(String Ad) {
this.Ogrenci_Adi = Ad;
}
public Ogrenci(String ad, int yas) {
this.Ogrenci_Adi = ad;
this.Ogrenci_Yasi = yas;
}
public Ogrenci(String a, int y, int s) {
this.Ogrenci_Adi = a;
this.Ogrenci_Yasi = y;
this.Ogrenci_Sinifi = s;
}
public static void main(String[] args) {
Ogrenci o = new Ogrenci("Burcu");
Ogrenci ogrenci = new Ogrenci("Selin",18);
Ogrenci O = new Ogrenci("Yaren",21,3);
System.out.println("Öğrenci Adı : " + o.Ogrenci_Adi);
System.out.println("\n*******************************************");
System.out.println("Öğrenci Adı : " + ogrenci.Ogrenci_Adi +
"\nÖğrencinin Yaşı : " + ogrenci.Ogrenci_Yasi);
System.out.println("\n********************************************");
System.out.println("Öğrenci Adı : " + O.Ogrenci_Adi +
"\nÖğrencinin Yaşı : " + O.Ogrenci_Yasi +
"\nÖğrencinin Sınıfı : " + O.Ogrenci_Sinifi);
}
}
Bu örneğimiz daha çok constructor yapısıyla ilgiliydi. Burada da overloading işlemlerini görebiliyoruz. Çıktımız:
Başka bir örnek yapalım.
public class HesapMakinesi {
public static void Toplama(int a, int b){
System.out.println("Sayıların Toplamları : " + (a+b));
}
public static void Toplama(int a, int b, int c){
System.out.println("Sayıların Toplamları : " + (a+b+c));
}
public static void Cikarma(int a, int b){
if(a < b){
System.out.println("Sayıların Farkları : " + (b-a));
}else{
System.out.println("Sayıların Farkları : " + (a-b));
}
}
public static void Cikarma(int a, int b, int c){
if(a < b && b < c){
System.out.println("Sayıların Farkları : " + (c-a-b));
}else if(c < b && b < a){
System.out.println("Sayıların Farkları : " + (a-b-c));
}else{
System.out.println("Sayıların Farkları : " + (b-a-c));
}
}
public static void main(String[] args) {
Toplama(6,5,4);
Toplama(15,65);
Cikarma(45,78,65);
Cikarma(100,54);
}
}
Bu şekilde basit bir örnekle de overloading işlemini kolaylıkla anlayabiliriz. Çıktımız:
Overloading konusunu böylece tamamlamış oluyoruz. Siz de farklı örneklerle bu konuyu geliştirebilirsiniz. İyi çalışmalar…
Leave a Reply