Ara ara uğruyordum, eski bir konuma göz atayım dedim. Sonra yazarım diyip yazmamışım
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
Basit bir şekilde hızlıca yazayım.
Dolma kalem, kurşun kalem filan demişim aslında interitance(kalıtıma) prensibinden bahsetmişim. Yukarıdaki örneğe sadık kalarak, bu prensibide implemente edelim.
Kalem bizin ana sınıfımız olsun, bu sınıf 2 adet özellik ve bir adet fonksiyon ile yazmak yeteneği vardı. Şimdi bunu basit bir yazılım dizaynı ile daha seksi hale sokalım.
Tüm kalemlerin ortak özelliği yazmaktır. O zaman Kalem 'den türeyen tüm alt sınıflar bu metodu implement etmek zorundadır. Hopsss burada akla ilk gelen şey interface(arayüz) sınıflarıdır. Java'da arayüz sınıflarını implement eden tüm alt sınıflar bu metodu gerçekleştirmek zorundadır. Bu interface' sınıfların bir özelliğidir. Mutlak interface'den forumda bir konuda bahsetmişimdir daha detaylı bilgiyi konuyu bulup, okumanızda fayda var.
PHP Kod: Kodu kopyalamak için üzerine çift tıklayın!
public interface IKalem{
public void yazmak();
}
PHP Kod: Kodu kopyalamak için üzerine çift tıklayın!
public class Kalem {
private String maddeTipi;
private String kalemUcuTipi;
public Kalem(String maddeTipi, String kalemUcuTipi){
this.maddeTipi = maddeTipi;
this.kalemUcuTipi = kalemUcuTipi;
}
//getter, setter
}
PHP Kod: Kodu kopyalamak için üzerine çift tıklayın!
public class DolmaKalem extends Kalem implements IKalem{
@Override
public void yazmak(){
System.out.println("Dolma kalem yazıyor..");
}
}
PHP Kod: Kodu kopyalamak için üzerine çift tıklayın!
public class KursunKalem extends Kalem implements IKalem{
@Override
public void yazmak(){
System.out.println("Kursun kalem yazıyor..");
}
}
Uygulamayı test edelim.. Direkt yazdığımdan test edemedim, hatalı yazım olabilir, düzeltirseniz sevinirim.
PHP Kod: Kodu kopyalamak için üzerine çift tıklayın!
public class TestApp(){
public static main void (String[] args){
DolmaKalem dolmaKalem = new Kalem("demir", "mürekkep");
kalemdolmaKalem.yazmak();
//Metod çağrıldığında konsol ekranına -> "Dolma kalem yazıyor.." yazacaktır.
KursunKalem kursunKalem = new Kalem("ahsap", "grafit");
kursunKalem.yazmak();
//Metod çağrıldığında konsol ekranına -> "Kursun kalem yazıyor.." yazacaktır.
}
}
Yukarıda arayüz sınıfının basit bir kullanımı, inheritance(kalıtımın) 'ın basit bir kullanımı ve @Override metod kullanımını basitçe implement etmiş olduk. Sorunuz olursa, başlık altında alıntı yaparak sormanızda fayda var. Ara ara giriyorum, uyarı gelirse anca bakarım.
Sevgilerle,
Turgay Can