Abstraction

Définition - Que signifie abstraction?

L'abstraction est un principe fondamental dans certains types d'informatique. C'est un aspect clé de la conception des langages de programmation orientés objet et des interfaces de programmation d'application. C'est aussi l'une des idées les moins comprises en programmation, en partie pour des raisons sémantiques.

L'abstraction est généralement définie comme l'extraction d'informations pertinentes à partir d'un plus grand ensemble de données, où l'utilisation de l'abstraction permet aux ingénieurs et à d'autres de simplifier une base de code.

Definir Tech explique l'abstraction

La raison pour laquelle cela est déroutant pour beaucoup de gens est que l'abstraction ne «ressemble» pas à ce qu'elle est, sémantiquement. Cela ressemble à rendre quelque chose de plus vague, car c'est ainsi que nous l'utilisons dans un langage général.

Cependant, en informatique, l'abstraction signifie généralement la simplification et la séparation du signal du bruit afin de rendre la programmation plus efficace et efficiente.

Programmation orientée objet

Code

Dans l'un des exemples les plus importants d'abstraction informatique, dans la programmation orientée objet, l'abstraction fonctionne souvent par l'utilisation d'objets dans le code. Ces objets, en tant que conteneurs portables d'attributs et de structures de code répétables, des fonctionnalités abstraites qui pourraient autrement être programmées de manière linéaire.

En d'autres termes, le véhicule de l'abstraction est constitué des objets du code, qui prennent tout un tas de code sous-jacent et le rendent portable et répétable.

Cours en Groupe

Un autre transporteur d'abstraction dans la programmation orientée objet est la classe. Les classes d'objets stratifient davantage le principe de l'utilisation répétable et de la prolifération automatisée du code.

Par exemple, dans ce guide convivial pour les non-techniciens de Stackify, l'auteur explique comment une machine à café est un bon exemple de la façon dont la programmation orientée objet utilise l'abstraction pour éliminer une grande partie du travail exigeant en main-d'œuvre. les épaules du programmeur.

Au lieu de créer un objet virtuel tel qu'une cafetière à partir de zéro, en programmant chaque ligne de ses fonctionnalités à la main, les ingénieurs peuvent à la place invoquer l'objet «cafetière» et brancher «grains» et «tasses à café», etc., pour obtenir le même résultat avec beaucoup moins de travail.

En fait, l'abstraction qui est à l'œuvre dans la programmation orientée objet est un moyen privilégié de montrer à quel point ces idées prennent en charge les «mondes» virtuels - lorsque les programmeurs peuvent créer toutes sortes d'objets virtuels avec leurs propres attributs, ils peuvent modéliser plus efficacement le monde réel, le monde physique et en même temps, optimiser l'efficacité de l'heure de travail d'un programmeur.

Ces deux capacités intéressantes ont été apportées par la POO au monde de la technologie.

Interface de Programmation d'Application

Un autre exemple moderne d'abstraction est illustré dans l'interface de programmation d'application (API), qui est si répandue dans les systèmes multiplateformes.

L'API est un moyen clé de fournir ces informations d'abstraction afin que les tiers extérieurs n'aient pas besoin d'en savoir autant sur une base de code inhérente. Dans un sens très simple, les API sont des «connecteurs» - les parties utiliseront l'API pour connecter le code d'une application au code d'une autre application, pour pousser des ensembles de données dans un environnement multiplateforme et permettre à ces programmes de collaborer de manière automatisée

L'API fonctionne alors comme le véhicule clé de l'abstraction en intégrant ces principes orientés objet qui montrent au «programme extérieur» ce que fait le «programme intérieur».

En conclusion, l'abstraction consiste simplement à rendre les informations de base de code plus polyvalentes en simplifiant leur représentation dans les systèmes externes. Cependant, cela a conduit à des avancées technologiques massives précédant d'autres types de changements fondamentaux tels que le passage à la virtualisation des réseaux.

Cette définition a été écrite dans le contexte de l'informatique