[Java lista] Class szintu tulajdonsag kenyszeritese compile-time

sashee gsashee at gmail.com
2009. Júl. 22., Sze, 21:14:11 CEST


Ketseg kivul ez a legegyszerubb megoldas, de az annotacios szerintem
szebb(ugyanabban az osztalyban van a ra vonatkozo informacio). Dehat
igen, ez sem kenyszerit semmit.
Esetleg azt tudom meg elkepzelni, hogy a progi indulasnal leellenorzni
az osszes leszarmazott osztalyt, hogy ott van-e az annotacio, es akkor
legalabb rogton indulasnal kiderul ha lemaradt vhonnan.

2009/7/22 Böszörményi Péter <zmblevlist at gmail.com>:
> 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
> _______________________________________________
> Javalist mailing list
> Javalist at javagrund.hu
> http://javagrund.hu/mailman/listinfo/javalist
>


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