Maison » Abstraction (programmation OOP)

Abstraction (programmation OOP)

1970
  • Barbara Liskov
Software engineer coding abstract classes in a modern IDE environment.

Abstraction in OOP is the concept of hiding complex implementation details and showing only the essential features of the object. It focuses on what an object does instead of how it does it. This is achieved through abstract classes and interfaces, which define a blueprint for other classes without providing a complete implementation, simplifying complex systems.

Abstraction is a process of managing complexity. In programming, it involves creating a simplified representation of a system or component. In OOP, this is primarily done using abstract classes and interfaces. An abstract class is a class that cannot be instantiated on its own and is meant to be subclassed. It can contain abstract methods (methods without a body) that subclasses must implement. An interface is a similar concept but is purely abstract; it can only define méthode signatures, not implementations. A class can then ‘implement’ an interface, promising to provide the functionality defined in it.

This allows programmers to define a common contract or API that multiple different classes can adhere to. For example, an interface ‘Storable’ could define ‘save()’ and ‘load()’ methods. Different classes like ‘Document’, ‘Image’, and ‘UserSettings’ could all implement the ‘Storable’ interface, each providing its own logic for saving and loading. Code that works with ‘Storable’ objects doesn’t need to know the specific type of object it’s dealing with; it only needs to know that it can call ‘save()’ and ‘load()’. This decouples the client code from the specific implementations, making the system more modular, flexible, and easier to understand at a high level.

UNESCO Nomenclature: 1203
- Informatique

Taper

Système abstrait

Perturbation

Fondamentaux

Usage

Utilisation généralisée

Précurseurs

  • abstraction mathématique
  • le concept de sous-routines et de fonctions comme forme d'abstraction procédurale
  • théorie des types de données abstraits (ADT)
  • la nécessité de gérer la complexité des projets d'ingénierie à grande échelle

Applications

  • couches d'accès aux bases de données (DAL) qui masquent les requêtes SQL spécifiques
  • pilotes de périphériques faisant abstraction de la complexité matérielle du système d'exploitation
  • graphical interface utilisateur (GUI) libraries providing high-level widgets
  • protocoles réseau comme HTTP faisant abstraction de la communication TCP/IP sous-jacente
  • la bibliothèque de modèles standard (stl) en C++

Brevets:

NA

Idées d'innovations potentielles

!niveaux !!! Adhésion obligatoire

Vous devez être membre de l'association pour accéder à ce contenu.

S’inscrire maintenant

Vous êtes déjà membre ? Connectez-vous ici
Related to: abstraction, interface, abstract class, API, information hiding, complexity, OOP, contract, decoupling, modularity.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

DISPONIBLE POUR DE NOUVEAUX DÉFIS
Ingénieur mécanique, chef de projet, ingénierie des procédés ou R&D
Développement de produits efficace

Disponible pour un nouveau défi dans un court délai.
Contactez-moi sur LinkedIn
Intégration électronique métal-plastique, Conception à coût réduit, BPF, Ergonomie, Appareils et consommables de volume moyen à élevé, Production allégée, Secteurs réglementés, CE et FDA, CAO, Solidworks, Lean Sigma Black Belt, ISO 13485 médical

Nous recherchons un nouveau sponsor

 

Votre entreprise ou institution est dans le domaine de la technique, de la science ou de la recherche ?
> envoyez-nous un message <

Recevez tous les nouveaux articles
Gratuit, pas de spam, email non distribué ni revendu

ou vous pouvez obtenir votre adhésion complète - gratuitement - pour accéder à tout le contenu restreint >ici<

Contexte historique

(si la date est inconnue ou non pertinente, par exemple « mécanique des fluides », une estimation arrondie de son émergence notable est fournie)

Inventions, innovations et principes techniques connexes

Retour en haut

Vous aimerez peut-être aussi