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.

L'astrazione è un processo di gestione della complessità. Nella programmazione, comporta la creazione di una rappresentazione semplificata di un sistema o di un componente. Nell'OOP, ciò avviene principalmente utilizzando classi astratte e interfacce. Una classe astratta è una classe che non può essere istanziata da sola ed è destinata a essere sottoclassata. Può contenere metodi astratti (metodi senza corpo) che le sottoclassi devono implementare. Un'interfaccia è un concetto simile, ma è puramente astratta; può solo definire le firme dei metodi, non le implementazioni. Una classe può quindi ‘implementare’ un'interfaccia, promettendo di fornire le funzionalità in essa definite.

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
  • librerie di interfaccia utente grafica (GUI) che forniscono widget di alto livello
  • protocolli di rete come HTTP che astraggono la comunicazione TCP/IP sottostante
  • la libreria di modelli standard (stl) in C++

Brevetti:

NA

Idee e potenziali innovazioni

A causa dell'eliminazione del traffico generato dai bot, che attualmente supera i 40.000 al giorno, questo contenuto è riservato ai membri della community.
> Accedi O > Registrati L'accesso a questo contenuto, così come a tutti gli altri contenuti e strumenti riservati, è (100% gratuito).

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)

Invenzioni, innovazioni e principi tecnici correlati

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

> Login <