Product Design, Manufacturing & Innovation Resources
Casa » Astrazione (programmazione OOP)

Astrazione (programmazione OOP)

1970
  • Barbara Liskov
Ingegnere informatico che codifica classi astratte in un ambiente IDE moderno.

(Immagine generata a solo scopo illustrativo)

Astrazione in OOP È il concetto di nascondere i dettagli di implementazione complessi e mostrare solo le caratteristiche essenziali di un oggetto. Si concentra su ciò che un oggetto fa, piuttosto che su come lo fa. Questo si ottiene tramite classi astratte e interfacce, che definiscono un modello per altre classi senza fornire un'implementazione completa, semplificando così i sistemi complessi.

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 method signatures, not implementations. A class can then ‘implement’ an interface, promising to provide the functionality defined in it.

Ciò consente ai programmatori di definire un contratto o un'API comune a cui possono aderire più classi diverse. Ad esempio, un'interfaccia ‘Storable’ potrebbe definire i metodi ‘save()’ e ‘load()’. Classi diverse come ‘Document’, ‘Image’ e ‘UserSettings’ potrebbero tutte implementare l'interfaccia ‘Storable’, fornendo ciascuna la propria logica per il salvataggio e il caricamento. Il codice che lavora con gli oggetti ‘Storable’ non ha bisogno di conoscere il tipo specifico di oggetto con cui ha a che fare; deve solo sapere che può chiamare ‘save()’ e ‘load()’. Questo disaccoppia il codice client dalle implementazioni specifiche, rendendo il sistema più modulare, flessibile e più facile da capire ad alto livello.

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
  • grafico user interface Librerie (GUI) che forniscono widget di alto livello
  • protocolli di rete come HTTP che astraggono il funzionamento sottostante TCP/IP comunicazione
  • la libreria di modelli standard (stl) in C++

Brevetti:

NA

Idee e potenziali innovazioni

  • API di cloud computing (ad esempio, AWS S3) che astraggono l'hardware di archiviazione sottostante
  • framework di sviluppo multipiattaforma come React Native o Flutter
  • librerie di mapping relazionale degli oggetti (orm) come hibernate o entity framework
  • standardized apis for machine learning frameworks (e.g., scikit-learn’s estimator api)
  • la macchina virtuale Java (JVM) che astrae il sistema operativo e l'hardware sottostanti
  • rete definita dal software (sdn) che astrae il piano di controllo della rete
  • blockchain smart contract interfaces (e.g., erc-20 for tokens)
  • livelli di astrazione hardware universali (hals) per sistemi embedded
  • API per interagire con modelli linguistici di grandi dimensioni (LLMS)
  • framework di programmazione del calcolo quantistico che astraggono i dettagli dell'hardware quantistico
Correlato a: astrazione, interfaccia, classe astratta, API, information hiding, complessità, OOP, contratto, disaccoppiamento, modularità.

Contesto storico

Astrazione (programmazione OOP)

1967
1967
1970
1970
1970
1970-01-01
1975-06-01
1960
1967
1970
1970
1970
1970
1973
1980

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

decimo anno anniversario

Le immagini a grandezza naturale e i download sono disponibili, gratuitamente al 100%, solo per gli utenti registrati.

> Login <