• le robinet de l’évier ; • le réservoir du château d’eau ; • un capteur de niveau d’eau avec contacteur dans le réservoir ; • la pompe d’alimentation puisant l’eau dans la rivière. • L’utilisateur ouvre le robinet. • Le robinet relâche la pression et l’eau s’écoule du réservoir à l’évier. • Comme notre utilisateur n’est pas tout seul à consommer, le capteur/flotteur du réservoir arrive à un niveau qui déclenche la pompe de puisage dans la rivière. • L’utilisateur referme le robinet. • Alimenté par la pompe, le réservoir du château d’eau continue à se remplir jusqu’à ce que le capteur/flotteur atteigne le niveau suffisant qui arrêtera la pompe. • Arrêt de la pompe.
% de développeurs qui développent avec le langage ou la technologie et ont exprimé leur intérêt à continuer à développer avec elle % de développeurs qui développent avec le langage ou la technologie mais n'ont pas exprimé d'intérêt à continuer de le faire % of developers who are not developing with the language or technology but have expressed interest in developing with it Source : stackoverflow
3. Le polymorphisme 4. L’abstraction Velo VeloDeMontagne VeloDeRoute VeloTandem class VeloDeMontagne extends Velo { // les nouveaux champs et méthodes définissant // un vélo de montagne irait ici }
3. Le polymorphisme 1. Surcharge 2. Redéfinition 4. L’abstraction Output: 18 88 public class MethodOverloading { static int add(int a, int b) { return a + b; } static int add(int a, int b, int c) { return a + b + c; } public static void main(String[] args) { System.out.println(MethodOverloading.add(2, 16)); System.out.println(MethodOverloading.add(78, 1, 9)); } }
3. Le polymorphisme 4. L’abstraction ✓ Représenter un ensemble d’objets plus général que les ensembles représentés par les sous-classes de la classe abstraite. ✓ Factoriser les attributs et les méthodes communs aux objets de cet ensemble.
3. Le polymorphisme 4. L’abstraction // Classe abstraite abstract class Animal { // méthode abstraite (n'a pas de corps) public abstract void son(); // méthode standard public void sleep() { System.out.println("Zzz"); } } // Sous-classe (hérite de Animal) class Cochon extends Animal { public void son() { // Le corps de son() est fourni ici System.out.println("Le cochon dit: wee wee"); } } public class MyMainClass { public static void main(String[] args) { Cochon monCochon = new Cochon(); // crée un objet Cochon monCochon.son(); monCochon.sleep(); } } Output: Le cochon dit: wee wee Zzz
https://beginnersbook.com/2013/04/runtime-compile-time-polymorphism/ • https://medium.com/@viktor.kukurba/object-oriented-programming-in-javascript-4-encapsulation-4f9165cd26f9 • https://www.w3schools.com/java/java_abstract.asp • https://practice.geeksforgeeks.org/problems/what-is-the-advantage-of-oop • https://www.youtube.com/watch?v=pTB0EiLXUC8 • Apprendre la Programmation Orientée Objet avec le langage Java - (2e édition) - ENI • Java et Eclipse - Développez une application avec Java et Eclipse (2e édition) – ENI • Design Patterns en Java - Les 23 modèles de conception (4e édition) – ENI • Algorithmique - Des bases à la Programmation Orientée Objet en Java (Nouvelle édition) – ENI • Photos : https://www.pngitem.com/