Glossaire

  • 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.