Plus d'infos sur les [paradigmes de programmation en java](https://oak.ucoz.net/blog/paradigmes_en_programmation/2023-01-13-3) Un paradigme est une manière de programmer. Tous les paradigmes cités ci-dessous sont réalisables dans n'importe quel langage. Il faut bien garder à l'esprit qu'un paradigme est une façon de penser son programme et de la manière dont il doit fonctionner. Il existe quatre principaux paradigmes de programmation en Java : la programmation procédurale, orientée objet, fonctionnelle et événementielle. # 1. Programmation procédurale La programmation procédurale (aussi appelée programmation impérative) est une approche descendante de la programmation qui traite des instructions données étape par étape. ``` public class Demo { public static void main(String[] args) { int a = 10; int b = 20; int c = add(a, b); System.out.println(c); } public static int add(int x, int y) { return x+y; } } ``` # 2. Programmation orientée objet La programmation orientée objet (POO) est un paradigme de programmation qui utilise des objets et leurs interactions les uns avec les autres pour concevoir des programmes et des applications. ``` public class Car { private String name; public Car(String name){ this.name = name; } public void startEngine(){ System.out.println(name + " is started"); } } public class Demo { public static void main(String[] args) { Car car = new Car("Audi"); car.startEngine(); } } ``` # 3. Programmation fonctionnelle La programmation fonctionnelle est un type de programmation qui traite des fonctions qui transforment les valeurs d'entrée en sorties. ``` public class Demo { public static void main(String[] args) { List<Integer> list = Arrays.asList(1,2,3,4); int sum = list.stream().reduce(0, (a,b)->a+b); System.out.println(sum); } } ``` # 4. Programmation événementielle La programmation événementielle est un paradigme de programmation où les événements qui se produisent dans le programme déterminent les prochaines étapes. ``` public class EventDemo { public static void main(String[] args) { JButton button = new JButton(); button.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { System.out.println("Button clicked!"); } }); } } ```