Programmation structurée vs programmation orientée objet
La programmation orientée objet et la programmation structurée sont deux paradigmes de programmation. Un paradigme de programmation est un style fondamental de la programmation informatique. Les paradigmes de programmation diffèrent quant à la manière dont chaque élément des programmes est représenté et à la manière dont les étapes sont définies pour résoudre les problèmes. Comme son nom l'indique, la programmation orientée objet se concentre sur la représentation des problèmes à l'aide d'objets réels et de leur comportement, tandis que la programmation structurée traite de l'organisation du programme dans une structure logique..
Qu'est-ce que la programmation structurée??
On suppose que l'année de naissance de la programmation structurée est 1970. La programmation structurée est considérée comme un sous-ensemble de la programmation impérative. Un programme structuré est constitué de structures de flux de programme simples, organisées de manière hiérarchique. Ce sont la séquence, la sélection et la répétition. La séquence est un ordre d'instructions. La sélection signifie la sélection d'une instruction dans un ensemble d'instructions en fonction de l'état actuel du programme (par exemple, l'utilisation d'instructions if) et la répétition signifie l'exécution d'une instruction jusqu'à atteindre un certain état (par exemple, l'utilisation d'instructions for ou while). ALGOL, Pascal, Ada et PL / I sont quelques-uns des langages de programmation structurés utilisés aujourd'hui.
Qu'est-ce que la programmation orientée objet??
En programmation orientée objet, l'accent est mis sur la réflexion sur le problème à résoudre en termes d'éléments du monde réel et sur la représentation du problème en termes d'objets et de comportement. Les classes décrivent les représentations abstraites d'objets du monde réel. Les classes ressemblent à des plans ou à des modèles, qui regroupent des éléments similaires ou des éléments pouvant être regroupés. Les classes ont des propriétés appelées attributs. Les attributs sont implémentés sous forme de variables globales et d'instances. Les méthodes dans les classes représentent ou définissent le comportement de ces classes. Les méthodes et les attributs des classes sont appelés les membres de la classe. Une instance d'une classe s'appelle un objet. Par conséquent, un objet est une structure de données qui ressemble beaucoup à un objet du monde réel..
Il existe plusieurs concepts de POO importants tels que l’abstraction de données, l’encapsulation, le polymorphisme, la messagerie, la modularité et l’héritage. Généralement, l'encapsulation est obtenue en rendant les attributs privés, tout en créant des méthodes publiques pouvant être utilisées pour accéder à ces attributs. L'héritage permet à l'utilisateur d'étendre des classes (appelées sous-classes) à partir d'autres classes (appelées super classes). Le polymorphisme permet au programmeur de substituer un objet d'une classe à la place d'un objet de sa super classe. En règle générale, les noms trouvés dans la définition du problème deviennent directement des classes dans le programme. Et de même, les verbes deviennent des méthodes. Les langages OOP les plus populaires sont Java et C #..
Quelle est la différence entre la programmation structurée et la programmation orientée objet??
La principale différence entre la programmation structurée et la programmation orientée objet réside dans le fait que l'objectif de la programmation structurée est de structurer le programme en une hiérarchie de sous-programmes, tandis que l'objectif central est de répartir la tâche de programmation en objets, qui encapsulent des données et des méthodes. La POO est considérée comme plus flexible que la programmation structurée, car la POO sépare un programme en un réseau de sous-systèmes plutôt que de la structurer en une hiérarchie. Même si la structuration apporte une certaine clarté, une petite modification apportée à un programme très volumineux et structuré peut avoir des répercussions en cas de modification de plusieurs sous-programmes..