Casa » Astrazione (programmazione OOP)

Astrazione (programmazione 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 metodo 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
- Informatica

Tipo

Sistema astratto

Interruzione

Fondamento

Utilizzo

Uso diffuso

Precursori

  • astrazione matematica
  • il concetto di subroutine e funzioni come forma di astrazione procedurale
  • teoria dei tipi di dati astratti (adt)
  • la necessità di gestire la complessità nei progetti di ingegneria su larga scala

Applicazioni

  • livelli di accesso al database (DAL) che nascondono le query SQL specifiche
  • driver di dispositivo che astraggono la complessità hardware dal sistema operativo
  • graphical user interface (INTERFACCIA GRAFICA) libraries providing high-level widgets
  • protocolli di rete come HTTP che astraggono la comunicazione TCP/IP sottostante
  • la libreria di modelli standard (stl) in C++

Brevetti:

NA

Potenziali idee innovative

Livelli! Iscrizione richiesta

Per accedere a questo contenuto devi essere un membro di !Professionals (100% free)!

Iscriviti ora

Siete già membri? Accedi
Related to: abstraction, interface, abstract class, API, information hiding, complexity, OOP, contract, decoupling, modularity.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

DISPONIBILE PER NUOVE SFIDE
Ingegnere meccanico, responsabile di progetto, ingegneria di processo o ricerca e sviluppo
Sviluppo efficace del prodotto

Disponibile per una nuova sfida con breve preavviso.
Contattami su LinkedIn
Integrazione di componenti elettronici in plastica e metallo, progettazione in base ai costi, GMP, ergonomia, dispositivi e materiali di consumo di medio-alto volume, produzione snella, settori regolamentati, CE e FDA, CAD, Solidworks, Lean Sigma Black Belt, ISO 13485 in ambito medico

Stiamo cercando un nuovo sponsor

 

La tua azienda o istituzione si occupa di tecnica, scienza o ricerca?
> inviaci un messaggio <

Ricevi tutti i nuovi articoli
Gratuito, no spam, email non distribuita né rivenduta

oppure puoi ottenere la tua iscrizione completa -gratuitamente- per accedere a tutti i contenuti riservati >Qui<

Contesto storico

(se la data non è nota o non è rilevante, ad esempio "meccanica dei fluidi", viene fornita una stima approssimativa della sua notevole comparsa)

Principi di invenzione, innovazione e tecnica correlati

Torna in alto

Potrebbe anche piacerti