Tekil Mesaj gösterimi
Alt 16 Mayıs 2013, 13:02   #1
Çevrimdışı
YazılımMimarı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Java'nın multi inheritance limitasyonu




Java'nın C++ ve C#'a göre en büyük limitasyonu bana göre;

Kalıtımın sadece tek bir sınıf üzerinden alınabilme zorunluluğudur. Mesela siz A sınfı ve B tanımlayın bunlar sizin temel sınıflarınız olsun ve siz A ve B sınıflarından kalıtım alarak C sınıfını oluşturmak istiyorsunuz.

Java'da bu direkt olarak yapamazsınız. Bunun sebebi olarak yazılım içinde belirsizlik yaratılmasının önlenmesi olarak belirtilmiş.

Bu tür bir iş için şöyle bir hiyerarşi izlemeniz gerekiz;

Önce A sınıfının kalıtımını alırsınız daha sonrada A sınıfının kalıtımını almış sınıfı B sınıfı ile genişletirsiniz.

Örnek implementasyon :

PHP Kod:   Kodu kopyalamak için üzerine çift tıklayın!
class {
    protected 
String var;
    
    
void go() {
    }
}

class 
extends A{
    
void come(){
        
    }
}
class 
extends B{
    
void dsd(){
        
String test C.super.var; //A'dan gelen özellik
        
C.super.go(); //A'dan gelen metod
        
C.super.come(); //B'den gelen metod
        
    
}



 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları reklamver bizimmekan