[Java lista] Class szintu tulajdonsag kenyszeritese compile-time

Böszörményi Péter zmblevlist at gmail.com
2009. Júl. 22., Sze, 21:08:55 CEST


Igen, igy mar erteheto.

Mi lenne, ha lenne egy osszerendeles, ami csak azt mondana meg, hogy  
melyik lenyhez milyen ar ertek tartozik. Pl. egy Class - double paros. Ez  
ugyan a forditas ideju ellenorzest nem teszi lehetove, de nem lesz  
nyakatekert a kod.

On Wed, 22 Jul 2009 20:59:17 +0200, sashee <gsashee at gmail.com> wrote:

> Ok, akkor reszletesebben:
>
> A jatekosoknak van penzuk, es vehetnek goblinokat. A goblinoknak van
> aruk, es ez a goblinra mint fajra jellemzo(tehat minden goblin
> ugyanannyiba kerul). A goblint csak akkor akarom peldanyositani, ha az
> tenyleg letre is jott. A goblinnak van egy absztrakt ose, hogy kesobb
> lehessen mas lenyeket is letrehozni.
> Venni varosban lehet, ezert a varosnak keszitettem egy olyan metodust,
> ami megkapja azt az osztalyt, amilyen lenyt szeretne venni a jatekos.
> Ebben a metodusban szeretnem megcsinalni azt, hogy eloszor
> leellenorzni az adott lenytipusnak az arat, megvizsgalja, hogy a
> jatekosnak mennyi penze van, es ha van elegendo, akkor letrehoz egy uj
> peldanyt az adott lenybol.
> Ezt szeretnem minel elegansabban es a leheto legkevesebb plusszal
> megirni, ezert gondoltam, hogy ha minden leny class-aban tarolom az
> arara vonatkozo adatot(pl annotacioban), akkor az igazabol 1 sor, es
> mukodik. Azonban ha irok egy uj lenyt, akkor semmi sem fogja
> kikenyszeriteni, hogy legyen neki az arra vonatkozo informacioja, csak
> futas kozben fog elszallni.
>
> Remelem igy erthetobb
>
> sashee
>
> 2009/7/22 Böszörményi Péter <zmblevlist at gmail.com>:
>> Olvastam az elso levelet (goblin + getAr), de tudnad meg egy kicsit
>> reszletezni a dolgot? Ugy erzem itt a koncepcioban van hiba.
>>
>> On Wed, 22 Jul 2009 20:33:36 +0200, sashee <gsashee at gmail.com> wrote:
>>
>>> Absztrakt fuggveny meghivasahoz peldanyositani kell az osztalyt. Nekem
>>> akkor kellene meghivni a fv-t mielott peldanyositom.
>>>
>>> 2009/7/22 Böszörményi Péter <zmblevlist at gmail.com>:
>>>> On Wed, 22 Jul 2009 20:26:59 +0200, Tamás Sallai <gsashee at gmail.com>
>>>> wrote:
>>>>> erzem. Inkabb olyasmi lenne a legjobb, ha lenne mondjuk  
>>>>> @MustOverwrite
>>>>> metaannotacio, amit minden gyerekosztalyban felul kell irni. De  
>>>>> sajnos
>>>>> meg nem talaltam ilyet.
>>>>
>>>> Pedig letezik. Absztrakt fuggvenynek hivjak.
>>>>
>>>>>
>>>>> sashee
>>>>>
>>>>> 2009/7/22 Kristof Jozsa <kristof.jozsa at gmail.com>:
>>>>>> az eredeti kérdésre aspectj, compile-time policy enforcement, pár  
>>>>>> sor.
>>>>>> tankönyvi példa:
>>>>>>
>>>>>> static aspect FlagNonFactoryCreation {
>>>>>>     declare error
>>>>>>     : call(Product.new(..)) && !within(ProductFactory+)
>>>>>>     : "Only ProductFactory can create Products";
>>>>>> }
>>>>>>
>>>>>> azt viszont nem látom h a játékos pénzét hogy látod compile-time ill
>>>>>> miért
>>>>>> nem a goblin konstruktorába írod bele a feltételt, de goblinokhoz  
>>>>>> nem
>>>>>> értek..
>>>>>>
>>>>>> K
>>>>>>
>>>>>> 2009/7/22 sashee <gsashee at gmail.com>
>>>>>>>
>>>>>>> Sziasztok!
>>>>>>>
>>>>>>> Van arra valami mod javaban, hogy compile time legyen kenyszeritve
>>>>>>> classhoz tartozo tulajdonsag? Pl annotacio meglete vagy statikus
>>>>>>> metodus.
>>>>>>> Egy pelda a kerdeshez, igy szerintem konnyebben ertheto, hogy mit
>>>>>>> szeretnek:
>>>>>>> Van egy varos, benne lehet felvenni goblinokat. Goblinnak ara van,  
>>>>>>> es
>>>>>>> csak akkor szeretnem peldanyositani, ha a jatekos tenyleg ki is  
>>>>>>> tudja
>>>>>>> fizetni. Igy ha a karakterek ososztalyba teszek egy abstract int
>>>>>>> getAr() fv-t, akkor azt sajnos nem tudom meghivni, mivel amikor ezt
>>>>>>> ellenorizni szeretnem, akkor meg nincsen goblin peldanyom. Ezert
>>>>>>> jolenne egy olyan statikus metodus vagy annotacio, amelyik biztos,
>>>>>>> hogy letezik, igy reflectionnel mar meg lehetne nezni az arat
>>>>>>> barmelyik karakternek, es nem fordulhat az elo, hogy irok mondjuk  
>>>>>>> egy
>>>>>>> orkot, es lefordul, de futas kozben pedig hibat dob.
>>>>>>> Talan a legjobb, amit eddig talaltam, az az Inherited
>>>>>>> metaannotacioval
>>>>>>> ellatni az absztrakt os egy annotaciojat, akkor legalabb mindig  
>>>>>>> talal
>>>>>>> valamilyet, de igazabol en kenyszeriteni szeretnem a programozot,
>>>>>>> hogy
>>>>>>> ezt mindenkeppen felul kell biralnia.
>>>>>>> Ugy gondolom, hogy talan egy Factory-val lehetne megcsinalni jora,
>>>>>>> hogy lenne egy GoblinFactory, ami tudja az arat, valamint tud
>>>>>>> peldanyositani is, de en nem szeretnek mindig 2 osztalyt  
>>>>>>> letrehozni,
>>>>>>> amikor igazabol 1 is eleg lenne.
>>>>>>>
>>>>>>> Tud esetleg erre vki vmi elegans megoldast?
>>>>>>>
>>>>>>> Koszi elore is
>>>>>>>
>>>>>>> sashee
>>>>>>> _______________________________________________
>>>>>>> Javalist mailing list
>>>>>>> Javalist at javagrund.hu
>>>>>>> http://javagrund.hu/mailman/listinfo/javalist
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> Javalist mailing list
>>>>>> Javalist at javagrund.hu
>>>>>> http://javagrund.hu/mailman/listinfo/javalist
>>>>>>
>>>>>>
>>>>> _______________________________________________
>>>>> Javalist mailing list
>>>>> Javalist at javagrund.hu
>>>>> http://javagrund.hu/mailman/listinfo/javalist
>>>>
>>>>
>>>>
>>>> --
>>>> Üdvözlettel,
>>>> Böszörményi Péter
>>>> _______________________________________________
>>>> Javalist mailing list
>>>> Javalist at javagrund.hu
>>>> http://javagrund.hu/mailman/listinfo/javalist
>>>>
>>> _______________________________________________
>>> Javalist mailing list
>>> Javalist at javagrund.hu
>>> http://javagrund.hu/mailman/listinfo/javalist
>>
>>
>>
>> --
>> Üdvözlettel,
>> Böszörményi Péter
>> _______________________________________________
>> Javalist mailing list
>> Javalist at javagrund.hu
>> http://javagrund.hu/mailman/listinfo/javalist
>>
> _______________________________________________
> Javalist mailing list
> Javalist at javagrund.hu
> http://javagrund.hu/mailman/listinfo/javalist



-- 
Üdvözlettel,
Böszörményi Péter


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