Chapitre Les bases du language Groovy
La gestion des Closures
Cette leçon présente les closures, la syntaxe et leur utilité
Dernière modification : Dec 08 , 2024
1.1 Comprendre les Closures en Groovy
// Exemple de Closure simple
def myClosure = { println "Ceci est une Closure en Groovy" }
myClosure()
1.2 Structure d'un Closure
// Exemple de Closure avec des paramètres
def add = { a, b -> a + b }
println add(3, 5) // Résultat: 8
2.1 Paramètres d'un Closure
// Exemple de Closure avec des paramètres
def greetClosure = { name -> "Bonjour, $name !" }
println greetClosure("Alice") // Résultat: Bonjour, Alice !
2.2 Utilisation de la Paramétrisation
// Exemple de Closure avec paramètres optionnels
def greet = { name, greeting = "Bonjour" -> "$greeting, $name !" }
println greet("Bob") // Résultat: Bonjour, Bob !
println greet("Alice", "Salut") // Résultat: Salut, Alice !
Module 3: this, delegate et owner
3.1 Le mot-clé this dans un Closure
// Exemple de Closure utilisant this
def closureWithThis = {
def localVar = 42
this.getLocalVar()
}
def getLocalVar = {
println "Accès à localVar depuis un Closure: $localVar"
}
closureWithThis()
3.2 Le concept de Delegate
// Exemple d'utilisation de delegate dans un Closure
class MyClass {
def greeting = "Bonjour"
}
def myInstance = new MyClass()
def closureWithDelegate = {
println "Message: $greeting"
}
closureWithDelegate.delegate = myInstance
closureWithDelegate()
3.3 Le mot-clé owner
// Exemple d'utilisation de owner dans un Closure
def closureWithOwner = { println "Propriété de l'owner: $ownerProperty" }
def ownerObject = [ownerProperty: "Valeur de l'owner"]
closureWithOwner.owner = ownerObject
closureWithOwner()
Ces exemples couvrent les bases des Closures en Groovy, en mettant l'accent sur la paramétrisation et l'utilisation de this, delegate, et owner. N'hésitez pas à explorer et expérimenter avec ces concepts pour approfondir votre compréhension.