Comparaison entre paradigme procédural et orienté objet en programmation

 



1. Programmation procédurale : Centrée sur les traitements (Exemple en C)

La programmation procédurale repose sur une logique où tout est organisé en fonctions, sans notion d'objets. Pour illustrer cela, utilisons un exemple simple en C, un langage procédural pur et dur. Imaginons que nous voulons calculer l'aire d'un rectangle :

Exemple procédural en C

c
#include <stdio.h> 
// Fonction pour calculer l'aire d'un rectangle 
double calculerAire(double longueur, double largeur) 
{ return longueur * largeur; } 
int main()
{ double longueur = 5.0;
double largeur = 3.0
double aire = calculerAire(longueur, largeur); 
printf("L'aire du rectangle est : %.2f\n", aire); return 0
}

Ici, nous avons une fonction séparée, calculerAire, qui effectue le traitement. Cependant, les données, comme longueur et largeur, sont totalement indépendantes de cette fonction. Si nous devions gérer d'autres propriétés, comme la couleur ou le périmètre, le programme deviendrait vite complexe, car chaque fonction manipule des données dispersées.


2. Programmation orientée objet : Centrée sur les données (Exemple en Java)

"En Java, qui est un langage orienté objet, on adopte une approche différente. Au lieu d’avoir des données séparées des fonctions, on regroupe tout cela dans une entité appelée classe. Voici comment nous pouvons transformer notre exemple du rectangle :"

Exemple orienté objet en Java

java
class Rectangle
{ double longueur; double largeur; 
// Constructeur pour initialiser un rectangle 
 Rectangle(double longueur, double largeur) 
{ this.longueur = longueur; 
this.largeur = largeur; }
// Méthode pour calculer l'aire 
double calculerAire() 
{ return longueur * largeur; 
 } 
public class Main
public static void main(String[] args) 
{
Rectangle rectangle = new Rectangle(5.0, 3.0); 
// Création d’un objet rectangle 
 System.out.println("L'aire du rectangle est : " + rectangle.calculerAire());
 } 
}

ici, toutes les informations sur le rectangle – sa longueur, sa largeur et même son comportement (calculer l'aire) – sont encapsulées dans une seule classe. Cela rend le code plus modulaire, lisible et facile à étendre.


3. Comparaison entre procédural (C) et orienté objet (Java)

CaractéristiqueProcédural (C)Orienté Objet (Java)
Centré surLes fonctions ou traitementsLes objets (données + comportements)
Organisation des donnéesSéparées des fonctionsEncapsulées dans des classes
Extension/modularitéDifficile à maintenir lorsque le programme devient complexeFacile grâce à la réutilisation d’objets
ExempleFonction calculerAire manipulant des variables globales ou localesClasse Rectangle combinant attributs et méthodes

4. Pourquoi Java est un langage orienté objet ?

Java a été conçu dès le départ pour exploiter les avantages de la programmation orientée objet. Cela permet de :

  • Réutiliser du code en créant des classes et des objets.
  • Simplifier la maintenance en encapsulant les données et les comportements.
  • Modéliser des systèmes complexes en les rapprochant de la réalité, où tout peut être vu comme un objet.

Avec la POO, nous pouvons créer des applications évolutives et robustes, ce qui est essentiel dans le monde d’aujourd’hui.


5. Conclusion et transition vers la suite

Maintenant que vous comprenez mieux la différence entre procédural et orienté objet, vous voyez pourquoi Java a choisi cette approche. Dans la prochaine vidéo, nous explorerons les concepts fondamentaux de la POO, comme l’encapsulationl’héritage et le polymorphisme, qui sont au cœur du développement en Java. 

Commentaires

Posts les plus consultés de ce blog

Premier tutoriel avec Arduino et Proteus ISIS

Login et password ,formulaire d'authentification sous android avec mysql et json

Connexion d'une application Android et une base de données externe Mysql avec web services php Json (opérations CRUD)