IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası
  sohbet

 Kayıt ol  Topluluk
Yeni Konu aç Cevapla
 
LinkBack Seçenekler Stil
Alt 28 Nisan 2012, 11:50   #1
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Java Override ve InnerClass Override





Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


Bazılarınıza çok basit gelebilir, fakat bugün dahili sınıflarla (inner class) uğraşırken dahili sınıflarda nasıl override yapıldığını öğrendim. Java 1.5 ile gelen bu özellik gerçekten hoşuma gitti ve bir blog yazısıyla bunu anlatmak istedim. Başlangıç kısmı olarak java da bir Ezme (Override) örneği yazmaya çalışacağım ve ardında da dahili sınıflarda bu işlemin nasıl olduğunu yine örnek kodla anlatmaya çalışacağım.
Java da Ezme (Override) işlemi, ana sınıftan türetilen sınıflara gelen değerleri değiştirmek olarak tanımlanabilir. Örnek bir kod ile daha iyi anlaşılacağını düşünerekten hemen örneğe geçiyorum;

PHP Kod:   Kodu kopyalamak için üzerine çift tıklayın!
//ana sınıfımız olarak tanımladığımız sınıf
 
class EzilecekSinif 
    public 
void YazilimciCalis(){   
      
System.out.println("Yazılımcı c# kodu geliştiriyor.");   
  } 
}
 
//türeyen sınıfımız class SinifEzme extends EzilecekSinif{   
  
public void YazilimciCalis(){    
     
System.out.println("Yazılımcı Java kodu geliştiriyor.");   
  } 
}
 public class 
YazilimTest{    
 public static 
void main(String ern[]){   
      
EzilecekSinif ES = new EzilecekSinif(); 
        
ES.YazilimciCalis(); 
EzilecekSinif YC = new SinifEzme();     
    
YC.YazilimciCalis();  
   } 


Gördüğünüz gibi türeyen sınıfta metot ismi aynı dikkat edilmesi gereken yerlerden birisi burasıdır, aklıma gelen bir başka dikkat edilmesi gereken yer ise sınıflara bir argument listesi tanımlıyorsak türeyen sınıftada aynı şekilde olmalıdır. Kodumuzu bu şekilde yazdığımızda çıktısı şu şekilde olacaktır.

PHP Kod:   Kodu kopyalamak için üzerine çift tıklayın!
Yazılımcı c# kodu geliştiriyor. 
Yazılımcı Java kodu geliştiriyor

Aynı örneği dahili sınıfla yapmaya çalıştığımızda ise şöyle olacaktır;

PHP Kod:   Kodu kopyalamak için üzerine çift tıklayın!
class EzilecekSinif {    
  public 
void YazilimciCalis(){     
      
System.out.println("Yazılımcı c# kodu geliştiriyor.");   
   }
  } 
 public class 
YazilimTest{    
  public static 
void main(String ern[]){      
     
EzilecekSinif EY = new EzilecekSinif();    
       
EY.YazilimciCalis();   
        class 
SinifEzme extends EzilecekSinif{         
           @
Override   public void YazilimciCalis(){       
                  
System.out.println("Yazılımcı Java kodu geliştiriyor."); 
                  }        
       }     
          
EzilecekSinif YE = new SinifEzme();       
        
YE.YazilimciCalis();     
     } 
  } 

@Override kısmına dikkat çekmek istiyorum, dahili sınıflarda ezme işlemini bu şekilde gerçekleştiriyoruz. Ezeceğimiz methodun başına @Override yazmamız yeterli, fakat “@override” veya “@over ride” vb yazımlar yanlış olacağı için doğru şekilde yazmalıyız. Bu kod parçacığınında çıktısı yine yukardaki ile aynı olacaktır.
PHP Kod:   Kodu kopyalamak için üzerine çift tıklayın!
Yazılımcı c# kodu geliştiriyor. 
Yazılımcı Java kodu geliştiriyor

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları reklam ver Benimmekan Mobil Sohbet
Cevapla

Etiketler
innerclass, java, kodlapaylas.com, override, ve


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Kapalı
Pingbacks are Açık
Refbacks are Açık


Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar Son Mesaj
Java Swing/AWT | FX Fonzerelli Java 3 21 Temmuz 2012 19:16
JRE (Java Runtime Engine - Java Çalışma Zamanı Motoru) toXic Java 2 18 Aralık 2011 13:40
Sorun söyleyeyim (Java,JSP,ASP.NET(C#),PL/SQL,jQuery,Java Script,Ajax) J2EE123 Java 2 03 Kasım 2011 12:57
JRE (Java Runtime Engine - Java Çalışma Zamanı Motoru) Stealth Java 1 29 Eylül 2010 22:19