[1] : typage statique / typage dynamique
Java : String maChaine = "Mon texte";
Groovy : maChaine = "Mon texte"
[2] : création de classe et de méthode
class Employe {
def nom
def salaire
def augmenter(thune) {
salaire += thune
}
}
def lancerTraitement(bidule){
println "Lancement du traitement de " + bidule.nom
}
employe24601 = new Employe(nom:"Raoul-Christ Quidé-Foule", salaire: 420000)
employe24601.augmenter(1000)
lancerTraitement(employe24601)
[3] : différence getter/setter
Java : valeur = objet.getItemCount();
Groovy : valeur = objet.itemCount
|
Syntaxe
La syntaxe de Groovy est donc une simplification de celle de Java, à commencer par le point-virgule qui devient optionnel. Elle reste très proche cependant, ce qui lui permet de plaire aux développeurs Java qui souhaitent profiter d'un langage de script sans devoir apprendre la syntaxe Python ou Ruby.
L'intérêt du typage dynamique n'est plus à démontrer : [1] .
La création de classes pose de son côté moins de restrictions. On retrouve des mots-clefs Python :
[2] .
Les objets sont traités en Groovy de la même manière que le sont les JavaBeans : les propriétés accessibles n'ont pas besoin d'avoir une méthode get/set : [3] .
Le JDK de Groovy ajoute par ailleurs certaines méthodes utiles au JDK de Java :
- pour String : contains() , count() , execute() , padLeft() , center() , padRight() , reverse() , tokenize() , each() , etc.
- pour Collection : count() , collect() , join() , each() , reverseEach() , find/All() , min() , max() , inject() , sort() , etc.
- pour File : eachFile() , eachLine() , withPrintWriter() , write() , getText() , etc.
Des méthodes peuvent bien entendu être ajoutées dynamiquement.
|