Abstraction
L’abstraction est le processus de suppression de détails physiques, spatiaux ou temporels ou d’attributs dans l'étude d'objets ou de systèmes afin d'attirer l'attention sur des détails d'importance supérieure , est également de nature très similaire au processus de généralisation.
Mais, l'abstraction est aussi la création d’un concept abstrait - des objets créés en reflétant des caractéristiques ou des attributs communs à partir de divers objets ou systèmes non abstraits de l’étude - le résultat du processus d'abstraction.
L'abstraction, en général, est un concept fondamental de l'informatique et du développement de logiciels . Le processus d'abstraction peut aussi être appelé modélisation et est étroitement lié aux concepts de théorie et de conception . Les modèles peuvent également être considérés comme des types d'abstractions par leur généralisation d'aspects de la réalité .
Abstraction en informatique est aussi étroitement liée à l’abstraction en mathématiques en raison de leur orientation commune sur des abstractions construction comme des objets, bu t est également liée à d’autres notions d'abstraction utilisées dans d’autres domaines tels que l’art .
Les abstractions peuvent également faire référence à des objets et à des systèmes du monde réel, à des règles de systèmes de calcul ou à des règles de langages de programmation qui comportent ou utilisent des caractéristiques de l'abstraction, telles que:
- l'utilisation de types de données pour effectuer l’extraction des données pour séparer u sauge des représentations de travail des structures de données à l'intérieur de programmes ;
- la notion de procédures, fonctions ou sous-routines qui représente un élément spécifique de la mise en œuvre du flux de contrôle dans les programmes;
- les règles communément appelées "abstraction" généralisant des expressions à l' aide de variables libres et liées dans les différentes versions du lambda calcul ;
- l'utilisation d’expressions S en tant qu'abstraction de structures de données et de programmes dans le langage de programmation Lisp ;
- le processus de réorganisation du comportement commun de classes non abstraites en "classes abstraites" en utilisant l’héritage d'abstraction sur des sous-classes, comme dans les langages de programmation C ++ et Java orientés objet .