Python - Objets

Table des matières
Dans la programation orientée aux objets, les objets sont des représentations abstraites d'éléments, que nous définissons à travers leurs attributs et qui ont une série de méthodes qui nous permettent de manipuler et d'avoir accès à ces attributs.
exister 3 fonctionnalités qui nous donnent la raison d'utiliser nos propres objets au lieu de dépendre des fonctions, bibliothèques et globales que le langage met à notre disposition, ce sont :
  • Polymorphisme: utilisation des mêmes opérations sur différents objets de différentes classes.
  • Encapsulation : cacher ses attributs aux entités extérieures à l'objet afin qu'il puisse les protéger.
  • Patrimoine- Créer des objets plus spécifiques qui héritent des attributs et méthodes de base d'une classe supérieure plus générale.

Ce terme signifie qu'il a de nombreuses formes, cela signifie que nous pouvons effectuer des opérations qui fonctionneront différemment selon le type ou la classe de l'objet. Prenons un exemple simple, imaginons que nous ayons un panier, puis nous définissons comment nous voulons que les données de prix et le produit souhaité soient obtenus, comme nous le voyons dans l'image suivante que nous créons un tuple.

Maintenant, que se passerait-il si les fonctionnalités du panier d'achat étaient étendues et que nous travaillions maintenant avec des enchères, nous devrions en quelque sorte spécifier les valeurs qui doivent être reçues et comment agir en utilisant les mêmes méthodes, comme beaucoup le penseraient est de faire une fonction de la forme suivante, cependant, n'est pas approprié.

Comme nous pouvons le voir dans l'image, nous couvrons les possibilités du moment, cependant, que se passe-t-il lorsque les fonctionnalités sont augmentées, nous devrons continuer à mettre à jour ce code pour toujours, c'est là que le polymorphisme entre en jeu et ce que nous faisons est de définir que chaque l'objet renvoie son prix quelle que soit la façon dont il est calculé car il s'agit d'un élément interne à chaque classe, qui serait le suivant :

On voit alors que c'est quelque chose qui nous aide à avoir un code plus durable dans le temps, plus facile à maintenir.
Ce consiste à cacher les détails internes de la classe au monde extérieur, de sorte qu'il ne soit accessible que par ses propres objets et méthodes, de cette manière, nous pouvons travailler avec des classes sans avoir à connaître leur fonctionnement interne, éliminant ainsi la complexité de l'implémentation et protégeant la logique au sein de nos objets.
Cela nous permet également travailler avec l'assurance que les données de notre objet ne seront pas modifiées, car s'ils fonctionnent de manière abstraite, nous pourrons instancier plusieurs fois et chaque instance est totalement individuelle.
Regardons un exemple d'un objet qui n'est pas encapsulé :

Ici, nous voyons que même si c'était o1 qui a fait un ensemble du nom, o2 accéder au même nom sans l'avoir paramétré, cela dans une application serait problématique, imaginons qu'on ait besoin du prix de plusieurs produits et que chacun écrase le prix du précédent.
Maintenant avec une encapsulation, regardons comment l'ensemble du flux du programme fonctionnerait.

Ici, nous voyons que chaque objet conserve son nom, nous savons donc que nous pouvons travailler en toute sécurité en obtenant les valeurs correctes pour chacun de nos objets.

Vous contribuerez au développement du site, partager la page avec vos amis

wave wave wave wave wave