Internet Info, s.r.o. Lupa Měšec Podnikatel Root Zdroják DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Vlákno názorů k článku
Groovy v příkladech: objektově orientované programování

MikRom
MikRom (neregistrovaný)
11. 1. 2008 9:43

Naco "def" pri premennej/atribute ?

Zaujimalo by ma naco sluzi to def pri definicii premennych resp atributov. Este v minulom dieli serialu bol takyto priklad
// dynamicky
year = 2007
// dynamicky s def
def year = 2007

Aky je tom rozdiel ?

"def" na definiciu metody to ano, ale naco je to aj pri atribute v tomto priklade:
class Product{
// promenne objektu
private def price
def vendor
....

Aky by bol rozdiel keby tam "def" nebolo?
MikRom
MikRom (neregistrovaný)
11. 1. 2008 11:17

Re: Naco "def" pri premennej/atribute ?

No to "def vyzera na definiciu premennych naozaj dost prebytocne. Mato byt asi akysi syntakticky-cukor alebo syntakticky-balast ? :-)))
Ak pouzijem def mozem na 1 riadok nadefinovat viac premennych oddelenych ciarkov

def b = 'hello', c = 'World'
print "$b, $c\n"

bez def-u to nejde, toto
b = 'hello', c = 'World'
vyhodi chybu
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed,
D:\Groovy\example_02.groovy: 1: unexpected token: , @ line 1, column 12.
b = 'hello', c = 'World'
^

1 error

ale ked sa namiesto ciarky pouzije bodkociarka, tak to ide takto
b = 'hello'; c = 'World'
print "$b, $c\n"
goddard
goddard (neregistrovaný)
11. 1. 2008 11:32

Re: Naco "def" pri premennej/atribute ?

"ale ked sa namiesto ciarky pouzije bodkociarka, tak to ide takto
b = 'hello'; c = 'World'
print "$b, $c\n" "
to uz pak ztraci to kouzlo operatoru carka:)
Milan
Milan (neregistrovaný)
11. 1. 2008 12:54

Re: Naco "def" pri premennej/atribute ?

Pouziti def zalezi na tom, jestli deklarujete promenou uvnitr tridy nebo ve skriptu. V jednom pripade je to nepovinne, ale nepamatuji se u ktereho, ale je to z duvodu, ze syntakticky analyzator to nebyl v jednom z tech pripadu schopen rozpoznat ci co.
MikRom
MikRom (neregistrovaný)
11. 1. 2008 15:00

Re: Naco "def" pri premennej/atribute ?

No v scripte to ide aj bez def aj s def.
V triede som to este neskusal, takze asi to bude v triede.
Filip
Filip (neregistrovaný)
8. 2. 2008 0:10

Re: Naco "def" pri premennej/atribute ?

Ve skripte (groovy.lang.Script) se rozlisuji dve veci: promenne (variables) a vlastnosti (properties). Promenne jsou unikatni pouze pro skript - tridy je nemaji. Pouzitim def se definuje vlastnost bez nej je to promenna.
Zasílat nově přidané příspěvky e-mailem