segunda-feira, 22 de fevereiro de 2010

Groovy & Grails – Tutorial – parte 2

Antes de falar no Grails, vamos primeiro ver como funciona a linguagem Groovy, na qual o Grails foi escrito.

As principais diferenças do Groovy em relação ao Java são:

1) Ponto e vírgula opcional:

Não é mais obrigatório colocar um ponto-e-vírgula no final de cada comando do Groovy. As duas linhas a seguir são válidas:

String nome = "Groovy";

String nome = "Groovy"

2) Palavra-chave "return" opcional:

O Groovy assume o valor do último comando de uma função como sendo o valor a ser retornado, quando não é utilizada palavra-chave return. Por exemplo, a seguinte função em Java:

String getNomeCompleto() {

return nome + " " + sobrenome;

}

Em Groovy fica:

String getNomeCompleto() {

nome + " " + sobrenome

}

3) Valor booleano True:

Além das expressões booleanas que o Java já tem, o Groovy assume qualquer valor diferente de null como sendo verdadeiro. Por exemplo:

Em Java:

if (valor != null) {

}

Em Groovy:

if (valor) {

}

4) Java Beans/Groovy Beans:

O Groovy possui uma forma simplificada de representação de Beans. Não é necessário criar os getters e setters para cada atributo do Bean. Por exemplo:

Em Java:

public class Veículo {

String fabricante;

Integer anoFabricacao;

public void setFabricante(String fabricante) {

this.fabricante = fabricante;

}

public String geFabricante() {

return this.fabricante;

}

public void setAnoFabricacao(Integer anoFabricacao) {

this.anoFabricacao = anoFabricacao;

}

public Integer getAnoFabricacao() {

return this.anoFabricacao;

}

Em Groovy:

public class Veiculo {

String fabricante

Integer anoFabricacao

}

Os getters e setters são dinamicamente gerados pelo Groovy, em tempo de execução. Se você quiser um comportamento específico para algum destes métodos que não seja o padrão (apenas setar ou retornar valores), pode escrever o método normalmente:

public class Veiculo {

String fabricante

Integer anoFabricacao

public void setFabricante(String fabricante) {

fabricante = "Fabricado por: " + fabricante

}

}

Na próxima parte veremos as demais características do Groovy. Até lá!

Nenhum comentário: