27 Şubat 2007

Java ile extends kullanımı

Extends bir sınıfın bütün elemanlarına nesne oluşturmadan direk erişim amacıyla kullanılıyor. Aşağıdaki örnekte Matematik sınıfı iki sayı arasında 4 işlem yapan metotlara sahip. Matematik2 sınıfı ise extends Matematik ile, Matematik sınıfının tüm metotlarını içine alıyor ve birde 3 sayı arasında toplam yapan metot tanımlıyor. Sonuç olarak Matematik sınıfının tüm metotlarını kullanmak için (tabiki erişim kontrolüne göre) Matematik2 sınıfında bir nesne oluşturmam yeterli.

public class MatematikTest extends Matematik {
// deneme icin kullanacagim main metodu
public static void main(String args[]) {
// deneme icin iki tane nesne bir Matematik digeri Matematik2
Matematik MatTest = new Matematik();
Matematik2 MatTest2 = new Matematik2();
// Bolme Yaptiriyorum 1. version
System.out.println(MatTest.Bolum(10,1));
// Toplama 1. version
System.out.println(MatTest2.Toplam(1,2));
// Toplama 2. version (Buraya dikkat!)
System.out.println(MatTest2.Toplam(1,1,2));
// Carpma 1. version
System.out.println(MatTest2.Carpim(5,6));
// Carpma 1. version
System.out.println(MatTest.Carpim(1,9));
}
}
// once iki sayi arasinda 4 islem yapan bir sinif olusturuyorum.
class Matematik {
public int Toplam(int sayi1,int sayi2) {
return (sayi1+sayi2);
}
public int Fark(int sayi1,int sayi2) {
return (sayi1-sayi2);
}
public int Carpim(int sayi1,int sayi2) {
return (sayi1*sayi2);
}
public float Bolum(float sayi1,float sayi2) {
if(sayi2>0) {
return (sayi1/sayi2);
} else {
return 0;
}
}
}
// 3 sayi arasinda toplama islemi yapan bir sinif olusturuyorum.
// bu sinif extends'i Matematik sinifi
class Matematik2 extends Matematik {
public int Toplam(int sayi1,int sayi2,int sayi3) {
return (sayi1+sayi2+sayi3);
}
}

Hiç yorum yok: