Please enable JavaScript.
Coggle requires JavaScript to display documents.
Java (TDD : Test driven development est une pratique de développement qui…
Java
TDD : Test driven development est une pratique de développement qui améliore beaucoup la qualité de votre code. En pensant aux tests d'une fonction avant de coder celle-ci on s'assure de penser à tous les cas et surtout d'avoir des tests de grande qualité.
- Rédiger en amont les tests pour votre code, en veillant à tester chaque scénario.
- Exécuter ces tests et vérifier qu'aucun ne fonctionne.
- Écrire le code de la fonction concernée.
- Exécuter à nouveau les tests jusqu'à ce que ceux-ci fonctionnent.
-
Tableau
-
HashMap
Map<String, Integer> ages = new HashMap<String, Integer>();
-
-
-
-
-
our chaque clé, nous avons une valeur unique. Si nous ajoutons une nouvelle valeur pour une clé qui existe déjà, la valeur précédente est remplacée.
-
-
Getter et Setter
Il faut ensuite se poser la question : est-ce que l'on a besoin de lire cette information depuis l'extérieur ?
Si oui, il faut créer un Getter : public Resistance getResistance(){
return resistance;}
La deuxième question à se poser est : est-ce que l'on a besoin de modifier cette information depuis l'extérieur ?
Si oui, il faut créer un Setter : public void setSoufflerie(Souflerie souflerie){
this.souflerie = souflerie;}
:red_flag: Par défaut, il faut toujours mettre tous les attributs à private , afin de bien maîtriser ce que l'on peut faire ou non avec notre classe depuis l'extérieur.
-
Heritage = Specilisation
public class Car extends Vehicle //Avec cette ligne, on précise que la classe Car étend la classe Vehicle .
C'est le constructeur de Car . Il prend en paramètre les attributs de Vehicle et les siens. La ligne super(...) permet de passer les arguments au constructeur de Vehicle.
Polymorphisme
Override : Surcharge de methode dans une classe fille
Un objet Television peut ainsi être considéré comme un objet Television , mais aussi comme un objet Product.Cette action est appelée une généralisation.
classpath : Le classpath est un paramètre contenant un ensemble de chemins vers des classes Java. Au lancement d'un programme, un outil inclus dans la JVM va scanner ces chemins pour charger toutes les classes nécessaires. Dans notre cas, on ajoute JUnit5.0 dans le classpath pour que cette librairie soit chargée avec notre programme.
Stream
-
iterate(): premier paramètre est le point de départ de l'itération et le second l'opération faite sur le premier paramètre
-
forEach():méthode terminale sur un stream, elle consomme le stream.
-
-
Opérations terminales sur les streams : opérations mise en fin d'instruction , elle consomme votre stream et donc le rende par la suite inutilisable.
Reduce(): Cette opération a pour but d'agréger le contenu de votre stream pour fournir un résultat unique.
Double sum = sp .filter(x -> x.getPoids() > 50).map(x -> x.getPoids()).reduce(0.0d, (x,y) -> x+y);
Optional : C'est objet est un conteneur pour une valeur pouvant être null. Il possède deux états : contenant une valeur ou ne contenant rien.
Optional<Double> sum = sp .filter(x -> x.getPoids() > 50).map(x -> x.getPoids()).reduce(0.0d, (x,y) -> x+y); if(sum.isPresent()){System.out.println(sum.get());}else {System.out.println("Aucun aggrégat de poids...");}
/Permet de gérer le cas d'erreur en renvoyant 0.0 si isPresent() == false
/
System.out.println(sum.orElse(0.0));
-
Collect: Permet de récupérer le résultat des opérations successives sous une certaines forme. Cette forme est définie par un objet Collectors (implémentant l'interface Collector ). C'est avec cet objet que nous pourrons dire que nous souhaitons avoir notre résultat sous forme de Set , de Map , de List et plus encore.
-
util.function
Consumer<T> : celle-ci ne retourne rien, elle se contente de "consommer" un objet, donc d'y appliquer un traitement.