[Java lista] egyszerű kérdés :)

Verhás István istvan at verhas.com
2009. Aug. 16., V, 21:38:52 CEST


Ahogy leírtad ezt a megoldást egész úgy hangzik mintha nem is java-ban
szeretnél OO megoldást hanem milyen jó lenne egy script nyelv amiben
csak úgy szabadon szinte megkötések nélkül lehet kódolni. Próbáld ki a
groovy-t, pont ezt tudja.
ĂĽdv
vi

-----Original Message-----
From: Huj Tamás <hujtomi at gmail.com>
Reply-to: javalist at javagrund.hu
To: javalist at javagrund.hu
Subject: [Java lista] egyszerű kérdés :)
Date: Sun, 16 Aug 2009 18:44:50 +0200


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
_______________________________________________
Javalist mailing list
Javalist at javagrund.hu
http://javagrund.hu/mailman/listinfo/javalist
--------- következő rész ---------
Egy csatolt HTML állomány át lett konvertálva...
URL: http://javagrund.hu/pipermail/javalist/attachments/20090816/17e2cc06/attachment.html 


További információk a(z) Javalist levelezőlistáról