Arguments VS paramètres : les paramètres sont les variables apparaissant dans la signature. Par exemple dans int f(int x, char c) les paramètres sont x et c. Les arguments sont les valeurs passées lors d'un appel. Dans f(3, 'c') les arguments sont 3 et 'c'.
Capture par valeur/référence : désigne si au moment de la création d'une lambda expression/function si une variable est remplacée par sa valeur ou si cela fait toujours référence à la variable globale
Classe : description d'un type avec des champs et des méthodes
Classe abstraite : classe avec des méthodes non implémentées
Composition : relation avoir un. Par exemple : tout Chat possède une Moustache. Remplace parfois l'héritage : tout Chat possède les données d'un Animal général.
Héritage : relation est un. Par exemple : tout Chat est un Animal
Interface : Type qui présente des méthodes à implémenter pour des sous-types.
Lambda expression, ou fonction anonyme : fonction non nommé. Par exemple, en Python : lambda x: 2*x.
Méthode : Fonction attachée à une classe
Objet : instance d'une classe
Paramètres : v ;,nbvoir Arguments VS paramètres
Polymorphisme : Mot qui désigne un mécanisme où on écrit du code qui fonctionne pour plusieurs types. Voir polymorphisme paramétré, par sous-type, surcharge.
Polymorphisme paramétré. Le fait d'avoir des variables T de types comme dans List<T>, Tree<T>.
Polymorphisme par sous-typage / par héritage. Le fait d'écrire une fonction qui marche pour tout Animal (Chat, Crapaud, etc.)
Struct : Type qui présente des champs
Surcharge (overloading). Un même nom de fonction utilisée pour plusieurs types : string toString(int x), string toString(double x), etc.
Trait. (En Rust) Similaire aux interfaces Java mais peut s'appliquer à un type existant.
Tuple : Type qui présente des champs numérotés. En Python ("bonjour", 1) est un tuple.