Abstraction (informatique)

Abstraction (informatique)
Page d'aide sur l'homonymie Pour les articles homonymes, voir Abstraction.

En informatique, le concept d'abstraction identifie et regroupe des caractéristiques et traitements communs applicables à des entités ou concepts variés ; une représentation abstraite commune de tels objets permet d'en simplifier la manipulation.

Sommaire

Programmation

Généralités

Un langage informatique est déjà une abstraction en lui-même, puisqu'il fait correspondre à un langage ésotérique (le langage machine, aussi appelé le binaire, composé uniquement de zéros et de uns) un autre langage mieux adapté à la compréhension humaine.

Une des abstractions est la généralisation du code pour le détacher au maximum du contexte. L’un des outils les plus connus de l’abstraction informatique est la variable, notamment la variable d'environnement.

Ainsi, par exemple, sous Windows XP, le chemin du système est généralement C:\WINDOWS\system32. Mais il ne s’agit que d’un cas particulier, ce pourrait très bien être D:\OS_XP. En revanche, la variable d’environnement pour les fichiers système est %WINDIR% (ou %SYSTEMROOT%). Cette variable d’environnement est une valeur abstraite dont C: est une application possible.

Beaucoup d’erreurs de programmes viennent du fait que lesdits programmes utilisent des valeurs concrètes au lieu de valeurs abstraites (comme les variables d’environnement). Tant que l’utilisateur installe ses programmes « comme tout le monde », cela ne pose pas de problème. Mais au moindre écart, l’édifice s’écroule.

Différentes couches de logiciel

On nomme aussi couche d'abstraction matérielle une couche logicielle accédant au matériel informatique. En effet, l'hétérogénéité des différents composants, utilisant souvent des normes spécifiques, nécessiterait sans cette couche de développer spécifiquement pour chaque matériel une nouvelle implémentation du code (c’est pour cela que l’assembleur n’est pas portable). DirectX fourni par exemple une suite d'outils théoriquement compatibles avec tout type de matériels.

Plus généralement, on nomme couche d'abstraction toute couche logicielle cachant au développeur l'implémentation de la couche inférieure, lui évitant de fournir une implémentation différente selon les spécificités de la couche inférieure. L’inconvénient de la couche d’abstraction est la moindre optimisation, induite par justement la présence de couches intermédiaires. Ceci reste une limitation théorique, non pratique : dans l’absolu, un code hautement abstrait pourrait être aussi véloce que du bon assembleur (puisque dans tous les cas, la machine exécute au final du langage machine, pas du C ou du HTML). Dans la pratique, cependant, il n’existe pas de tel « compilateur 100% ».

Programmation orientée objet

Dans le contexte orienté objet, l'abstraction est un mécanisme, ou une pratique, servant à réduire le code d'un niveau de détail. Autrement dit, l'abstraction permet de regrouper un certain nombre de classes selon des caractéristiques communes.

Par exemple, dans un logiciel de dessin vectoriel :

 abstract class Forme{
   public:
      virtual Aire(){};
      virtual Perimetre(){};
   protected:
      int origine; //en pixel
      int hauteur; //en pixel
      int largeur; //en pixel
   ...
 }
 class Rectangle:public Forme{...}
 class Cercle:public Forme{...}

Ainsi, puisque toutes les figures ont un point d'origine, une hauteur, une largeur, une aire et un périmètre, nous pouvons les regrouper en une super-classe. Grâce au polymorphisme nous pourrons définir le comportement précis de chacun des types de figures simplement en faisant référence à la classe Forme, sans se soucier de ce que cette figure est réellement.

Web

La distinction concret/abstrait existe aussi pour le codage HTML. Le cas le plus célèbre est celui des entités « physiques » et des entités « logiques », notamment i/em et b/strong. Le premier élément de chaque paire renvoie à une valeur concrète (mise en italique/mise en gras) alors que le second élément renvoie à une valeur abstraite (emphase/forte emphase) qui, dans le domaine visuel (écran, projection, impression) se traduit par une mise en italique/en gras. Mais pas par exemple dans un média oral ou Braille. Cette nécessité d'abstraire le code est la raison pour laquelle les éléments i et b sont déconseillés (ils ont d’ailleurs disparu en XHTML 2.0).


Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Abstraction (informatique) de Wikipédia en français (auteurs)

Игры ⚽ Поможем сделать НИР

Regardez d'autres dictionnaires:

  • Abstraction (Informatique) — Pour les articles homonymes, voir Abstraction. En informatique, le concept d abstraction identifie et regroupe des caractéristiques et traitements communs applicables à des entités ou concepts variés; une représentation abstraite commune de tels… …   Wikipédia en Français

  • Informatique Théorique — L informatique théorique est l étude des fondements logiques et mathématiques de l informatique. Plus généralement, le terme est utilisé pour désigner des domaines ou sous domaines de recherche centrés sur des vérités universelles (axiomes) en… …   Wikipédia en Français

  • Informatique theorique — Informatique théorique L informatique théorique est l étude des fondements logiques et mathématiques de l informatique. Plus généralement, le terme est utilisé pour désigner des domaines ou sous domaines de recherche centrés sur des vérités… …   Wikipédia en Français

  • INFORMATIQUE ET SCIENCES HUMAINES — S I L’IMPORTANCE des bouleversements que l’informatique provoque dans des domaines toujours plus nombreux de la vie sociale est désormais perçue, l’attention accordée aux modifications qu’elle introduit dans la connaissance de l’homme et de la… …   Encyclopédie Universelle

  • INFORMATIQUE ET SCIENCES HUMAINES - Art et informatique — L’utilisation d’ordinateurs pour des fins artistiques s’inscrit dans la généralisation de l’emploi de l’outil informatique. Mais elle résulte aussi d’un détournement: l’ordinateur, en effet, n’a pas été conçu pour l’art. Ses caractéristiques… …   Encyclopédie Universelle

  • Informatique Musicale — L informatique musicale est une discipline qui comporte des aspects de synthèse sonore et d aide à la composition musicale. Dans les années 1950 1970, l essor de la technologie numérique des ordinateurs a chamboulé la composition musicale qui,… …   Wikipédia en Français

  • INFORMATIQUE - Principes — Le traitement de l’information, au sens large, forme une part importante de l’activité humaine et elle est aussi ancienne que l’homme lui même. L’analyse de cette activité, qui est l’objet de l’informatique, a conduit à distinguer la manipulation …   Encyclopédie Universelle

  • Informatique — Les moyens de calcul informatique peuvent établir une prévision météorologique à plusieurs jours grâce à la modélisation climatique. L informatique est le domaine d activité scientifique, technique et industriel concernant le traitement… …   Wikipédia en Français

  • Informatique théorique — L informatique théorique est l étude des fondements logiques et mathématiques de l informatique. Plus généralement, le terme est utilisé pour désigner des domaines ou sous domaines de recherche centrés sur des vérités universelles (axiomes) en… …   Wikipédia en Français

  • Informatique musicale — L informatique musicale est une discipline qui comporte des aspects de synthèse sonore, d aide à la composition musicale ou de composition musicale sans assistance humaine. Dans les années 1950 1970, l essor de la technologie numérique des… …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”