[Java lista] egyszerű kérdés :)
   
     Huj Tamás     
     hujtomi at gmail.com
       
    2009. Aug. 16., V, 18:44:50 CEST
    
    
  
sziasztok!
van 3 osztályom:
osztA
osztB
osztC
az osztályok majdnem teljesen ugyanolyanok csak üzleti szempontok
miatt kellett különválasztani őket, de a tagváltozóik és a metódusaik
nagy része megegyezik.
és van egy Collectionom a példa kedvéért legyen egy lista.
van egy metódusom ami ilyen típusú listákat dolgoz fel, és csak olyan
metódusokat hív ami mind a 3 osztályban megvan, és most a feldolgozó
függvénynél gyakorlatilag meg kell háromszorozni a kódot mert a
megfelelő osztályra kell castolni. Valahogy így:
    public void feldolgoz(List lista){
        Iterator iterator = lista.iterator();
        while(iterator.hasNext()){
            Object o = iterator.next();
            if(o instanceof osztA){
             ((osztA)o).metodus1()
            } else if(o instanceof osztB){
             ((osztB)o).metodus1()
            } else if(o instanceof osztC){
             ((osztC)o).metodus1()
            }
        }
    }
Ha egy közös itnerfészt implementálnának az osztályok akkor nem
kellene a kódot megháromszorozni, és az jó lenne. De az a baj, hogy
ezeket az osztályokat egy keretrendszer generálja egy ant-os buildelés
során, és nem szabad belenyúlni a kódba, mert mindig úgyis
újragenerálódik.
Vajon meg lehetne oldani interfész nélkül ezt a problémát úgy hogy ne
kellejen egy csomó helyen megháromszorozni a kódot?
üdv,
Tomi
    
    
További információk a(z) Javalist levelezőlistáról