La programmation orientée objet obéit à des principes. Les 4 principaux principes sont l'encapsulation, l'héritage, le polymorphisme et la généricité.
Il existe actuellement deux grandes catégories de langages à objets : les langages à classes, que ceux-ci soient sous forme fonctionnelle (Common Lisp Object System), impérative (C++, Java) ou les deux (Python, OCaml) ; les langages à prototypes (JavaScript, Lua).
La Programmation Orientée Objet est dirigée par trois fondamentaux qu'il convient de toujours garder à l'esprit : encapsulation, héritage et polymorphisme.
La programmation orientée objet (POO) est un paradigme informatique consistant à définir et à faire interagir des objets grâce à différentes technologies, notamment les langages de programmation (Python, Java, C++, Ruby, Visual Basic.NET, Simula...).
Les principes de l'approche objet : abstraction, encapsulation, modularité, hiérarchie, héritage, polymorphisme, etc. Un vocabulaire à démystifier. Les 5 concepts fondateurs : ce qu'il faut comprendre pour aborder une problématique par un raisonnement objet.
Définition du polymorphisme
Le nom de polymorphisme vient du grec et signifie qui peut prendre plusieurs formes. Cette caractéristique est un des concepts essentiels de la programmation orientée objet. Alors que l'héritage concerne les classes (et leur hiérarchie), le polymorphisme est relatif aux méthodes des objets.
C'est un mécanisme qui permet de regrouper, classifier et utiliser les données contenues dans un objet afin d'en assurer l'intégrité. Les objets externes peuvent utiliser un ensemble bien défini de méthodes pour accéder aux fonctionnalités et données d'un autre objet.
La POO permet de simplifier les informations dans la programmation. La programmation orientée objet se base sur le principe d'objets. Un objet est un ensemble de variables (appelées propriétés) et de fonctions (appelées méthodes). Cet ensemble décrit un concept unique et cohérent.
Le polymorphisme est un mécanisme important dans la programmation objet. Il permet de modifier le comportement d'une classe fille par rapport à sa classe mère. Le polymorphisme permet d'utiliser l'héritage comme un mécanisme d'extension en adaptant le comportement des objets.
Qu'est-ce que l'état d'un objet? C'est l'ensemble des méthodes d'un objet. C'est l'ensemble des attributs d'un objet. C'est la valeur des attributs d'un objet.
La notion la plus importante en programmation orientée objet est le concept de classe. Les classes sont des moules, des patrons qui permettent de créer des objets en série sur le même modèle. On peut se représenter une classe comme le schéma de construction ainsi que la liste des fonctionnalités d'un ensemble d'objets.
Les langages Java et C++ sont moins « purs » même si Java opérationnalise presque tous les concepts du paradigme objet. Quant au langage C, c'est le plus célèbre et le plus utilisé des langages qualifiés de « procéduraux ».
En 1991, le programmeur Guido van Rossum écrit sur son ordinateur personnel la première version d'un langage orienté objet et multiplateformes. C'est parce qu'il est fan de la série télévisée Monty Python qu'il baptise ce langage « PYTHON » !
En informatique, la programmation impérative est un paradigme de programmation qui décrit les opérations en séquences d'instructions exécutées par l'ordinateur pour modifier l'état du programme.
Le principe est assez simple : la programmation orientée objet consiste à créer et faire interagir des briques logicielles que l'on appelle objets. Et un objet représente une idée, un concept ou toute entité du monde physique. Un ordinateur est un objet.
L'encapsulation permet de définir des niveaux de visibilité des éléments de la classe. Ces niveaux de visibilité définissent les droits d'accès aux données selon que l'on y accède par une méthode de la classe elle-même, d'une classe héritière, ou bien d'une classe quelconque.
L'abstraction est l'un des concepts clés dans les langages de programmation orientée objet (POO). Son objectif principal est de gérer la complexité en masquant les détails inutiles à l'utilisateur.
En Programmation Orientée Object (POO), la généricité est un concept permettant de définir des algorithmes (types de données et méthodes) identiques qui peuvent être utilisés sur de multiples types de données. Cela permet donc de réduire les quantités de codes à produire.
Un objet est une instance d'une classe, qui est l'outil fondamental de programmation en Java. Une classe peut aussi être considérée comme une description de ce qu'il faut faire pour créer un objet. Les classes sont composées de méthodes et d'attributs qui peuvent être public, private ou protected.
C# est un langage de programmation orienté objet. Les quatre principes fondamentaux de la programmation orientée objet sont les suivants : Abstraction Modélisation des attributs et interactions pertinents des entités en tant que classes pour définir une représentation abstraite d'un système.
Python est un langage qui permet la Programmation Orientée Objet (POO).
En programmation procédurale, le programme est divisé en petites parties appelées fonctions . Dans la programmation orientée objet, le programme est divisé en petites parties appelées objets . La programmation procédurale suit une approche descendante . La programmation orientée objet suit une approche ascendante .
Les trois avaient déjà créé leurs propres méthodes de développement logiciel orienté objet : La méthode Booch. L'object modeling technique (OMT) L'object-oriented software engineering method (OOSE)
La méthode du Processus Unifié (UP pour Unified Process) est un processus de développement qui possède les caractéristiques suivantes : Itératif et incrémental. Pilotés par les cas d'utilisation. Centré sur l'architecture.
MERISE va décrire le schéma de données, la persistance. Il s'agit des données sauvegardées en base de données lorsque le système n'est plus en marche. De son côté, UML est plus un “langage” de diagramme Objet. On représente les objets métiers et les traitements (méthodes) associés.