Différence entre Programmation orientée objet et Programmation fonctionnelle

Il existe deux paradigmes de programmation très populaires dans le développement logiciel que les développeurs conçoivent et programment. Ils sont connus sous le nom de programmation orientée objet et de programmation fonctionnelle. Vous avez probablement déjà entendu parler de ces termes. Nous allons voire quelle est la différence entre la programmation fonctionnelle et la programmation orientée objet?

 

Table de comparaison
Programmation fonctionnelleProgrammation Orientée Objet
DéfinitionLa programmation fonctionnelle met l’accent sur l’évaluation des fonctions.Programmation orientée objet basée sur un concept d’objets.
Les donnéesLa programmation fonctionnelle utilise des données non modifiable.Orienté objet utilise les données modifiable.
Programmation parallèleProgrammation parallèle prise en charge par la programmation fonctionnelle.La programmation orientée objet ne prend pas en charge la programmation parallèle.
ExécutionEn programmation fonctionnelle, les instructions peuvent être exécutées dans n’importe quel ordre.Dans la POO, les instructions doivent être exécutées dans un ordre particulier.
ItérationEn programmation fonctionnelle, la récursivité est utilisée pour les données itératives.Dans le POO, les boucles sont utilisées pour les données itératives.
ÉlémentLes éléments de base de la programmation fonctionnelle sont les variables et les fonctions.Les éléments de base de la programmation orientée objet sont les objets et les méthodes.
UtilisationLa programmation fonctionnelle est utilisée uniquement lorsqu’il y a peu de choses avec plus d’opérations.La programmation orientée objet est utilisée lorsqu’il y a beaucoup de choses avec peu d’opérations.

 

Programmation Orientée Objet

La programmation orientée objet est la programmation avec les objets. Un objet est une entité avec une identité et un état. Il peut répondre aux messages qui lui sont envoyés en appelant l’une de ses méthodes qui correspond au message reçu.
Les classes et les objets en javaLes classes et les objets en javaLes classes et les objets sont les composants fondamentaux de la POO. Il y a souvent une confusion entre les classes et les objets. Dans…Lire plus L’idée est que l’état est encapsulé dans l’objet et ne peut être manipulé qu’en envoyant des messages à l’objet (également appelé «méthodes d’appel d’un objet»). Dans une méthode, vous avez accès à l’état de l’objet, généralement via une liaison de variable spéciale appelée « this » ou « self ». Le principe de cacher l’état de l’objet s’appelle « Encapsulation ».

Les objets sont souvent décrits à l’aide de classes décrivant les méthodes et les attributs pris en charge par ces objets. Les classes peuvent hériter des méthodes des super classes. L’héritage est censé être un outil d’abstraction. On peut résumer une interface commune à une classe parente. Cela permet également de mettre en œuvre une logique qui gère les objets polymorphes – des objets de types différents mais avec une interface au moins partiellement compatible. Exemple :

class Employee {
  name : string
  salary : int
 
  constructor (name : string, salary : int) {
    this.name = name
    this.salary = salary
  }
  getPrime () {
    this.salary = this.salary+1000
  }
}
 
Employee employee = new Employee("Peter", 18)
employee.getPrime()
employee.getPrime()
employee.salary === 2000
 

Programmation Fonctionnelle

La programmation fonctionnelle est une programmation avec des fonctions. Précisément des fonctions en tant que valeurs. Une fonction est un outil ultime pour l’abstraction et la composition dans des programmes fonctionnels. La logique et l’état sont maintenus séparés. Vous écrivez des fonctions qui obtiennent des données et les transforment en d’autres données. Exemple :

function createEmp (name : string, salary : int) {
  return { name, salary }
}
function getPrime (e) {
  return {salary: e.salary+1000}
}
 
var employee = createEmp("Alex", 10)
employee.salary === 2000

 

Différence clé entre Programmation orientée objet et Programmation fonctionnelle
  • La programmation fonctionnelle est utilisée pour effectuer de nombreuses opérations différentes pour lesquelles les données sont fixes. Programmation orientée objet utilisée pour effectuer quelques opérations ayant un comportement commun et différentes variantes.
  • La programmation fonctionnelle consiste à avoir un modèle de programmation sans état. La programmation orientée objet consiste à avoir un modèle de programmation avec état.
  • En programmation fonctionnelle, un état n’existe pas. En programmation orientée objet, l’état existe.
  • En programmation fonctionnelle, une fonction est l’unité de manipulation principale. En POO, un objet est l’unité de manipulation principale.
  • En programmation fonctionnelle, ses fonctions n’ont pas d’effets secondaires, cela n’a aucun impact sur le code qui s’exécute sur plusieurs processeurs. En programmation orientée objet, ses méthodes peuvent avoir des effets secondaires et peuvent avoir un impact sur les processeurs.
  • La programmation fonctionnelle prend principalement en charge l’abstraction sur les données et l’abstraction sur le comportement. La programmation orientée objet prend principalement en charge l’abstraction sur les données uniquement.
  • La programmation fonctionnelle offre de hautes performances dans le traitement des données volumineuses pour les applications. La programmation orientée objet n’est pas bonne pour le traitement de données volumineuses.

 

Partagez cet article

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *