Skip to content

Instantly share code, notes, and snippets.

@sleroy
Created November 9, 2022 13:15
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sleroy/a8182112227cc851c81afd1891c84528 to your computer and use it in GitHub Desktop.
Save sleroy/a8182112227cc851c81afd1891c84528 to your computer and use it in GitHub Desktop.
import groovy.transform.ToString
/**
* identité => type
*
* Objet : element à une vie
* => créé ( réification , donner vie, donner substance à un concept abstrait)
* => utilisé
* => détruit
*/
class Utilisateur {
}
@ToString
class Vehicule {
String carburant;
int puissance;
String typeDeplacement; // Aerien, terrestre, maritime
public Vehicule(String carburant, String puissance = 0, String typeDeplacement = "terrestre") {
this.carburant = carburant;
this.puissance = puissance;
this.typeDeplacement = typeDeplacement
}
String getCarburant() {
return carburant;
}
static public listeVehicules = []
public Vehicule() {
println "Vehicule créé avec hashCode " + hashCode()
listeVehicules.add(this)
}
def avancer() {
}
}
class Avion {
}
Vehicule vehicule = new Vehicule();
println "Liste vehicules taille=${Vehicule.listeVehicules.size}"
vehicule.puissance = 110
vehicule.avancer()
Vehicule vehicule2 = new Vehicule();
println "Liste vehicules taille=${Vehicule.listeVehicules.size}"
vehicule2.puissance = 110
Vehicule vehicule3 = new Vehicule();
println "Liste vehicules taille=${Vehicule.listeVehicules.size}"
Vehicule.listeVehicules.each { vh -> println "Puissance veh : ${vh.puissance}"}
String str1 = "ma chaine de caractere"
String str2 = "ma chaine de caractere"
String str3 = "ma chaine de caractere" - "ma"
String str5 = new String("ma chaine de caractere")
println "str3 : $str3 ${str3.hashCode()}"
println "str1 : ${str1.hashCode()}"
println "str2 : ${str2.hashCode()}"
str1 = str1 - "ma";
println "str1 : ${str1.hashCode()}"
println "str5 : ${str5.hashCode()}"
println "Vehicule 1 ${vehicule} ${vehicule.hashCode()}" // => retourne l'adresse mémoire JVM ou est alloué l'objet
println "Vehicule 2 ${vehicule2} ${vehicule2.hashCode()}"
println "Vehicule 3 ${vehicule3} ${vehicule3.hashCode()}"
println "vehicule.puissance ${vehicule.puissance} vehicule2.puissance ${vehicule2.puissance}"
println "Vehicule 1 est le meme vehicule que vehicule 2 ? " + (vehicule == vehicule2)
println "Vehicule 1 ${vehicule.hashCode()} est le meme vehicule que vehicule 2 ${vehicule2.hashCode()} ? " + (vehicule == vehicule2)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment