Cos'è l'astrazione negli OOP? Java Abstract Class & Metodo

Sommario:

Anonim

Cos'è l'astrazione in OOP?

L'astrazione è il concetto di programmazione orientata agli oggetti che "mostra" solo gli attributi essenziali e "nasconde" le informazioni non necessarie. Lo scopo principale dell'astrazione è nascondere i dettagli non necessari agli utenti. L'astrazione sta selezionando i dati da un pool più grande per mostrare all'utente solo i dettagli rilevanti dell'oggetto. Aiuta a ridurre la complessità e gli sforzi di programmazione. È uno dei concetti più importanti di OOP.

Fare clic qui se il video non è accessibile

Studiamo l'astrazione in OOP con l'esempio:

Supponi di voler creare un'applicazione bancaria e ti viene chiesto di raccogliere tutte le informazioni sul tuo cliente. Ci sono possibilità che ti vengano in mente le seguenti informazioni sul cliente

Astrazione in Java

Tuttavia, non tutte le informazioni di cui sopra sono necessarie per creare un'applicazione bancaria.

Quindi, devi selezionare solo le informazioni utili per la tua applicazione bancaria da quel pool. Dati come nome, indirizzo, informazioni fiscali, ecc. Hanno senso per un'applicazione bancaria che è un esempio di astrazione in OOPs

Poiché abbiamo recuperato / rimosso / selezionato le informazioni sul cliente da un pool più ampio, il processo viene indicato come Astrazione in OOP.

Tuttavia, le stesse informazioni una volta estratte possono essere utilizzate per un'ampia gamma di applicazioni. Ad esempio, è possibile utilizzare gli stessi dati per la domanda ospedaliera, la candidatura al portale di lavoro, un database governativo, ecc. Con poche o nessuna modifica. Quindi, diventa i tuoi dati principali. Questo è un vantaggio dell'astrazione in OOP.

Differenza tra astrazione e incapsulamento

Astrazione Incapsulamento
L'astrazione nella programmazione orientata agli oggetti risolve i problemi a livello di progettazione. L'incapsulamento risolve il livello di implementazione.
L'astrazione nella programmazione consiste nel nascondere i dettagli indesiderati mostrando le informazioni più essenziali. Incapsulamento significa legare il codice e i dati in una singola unità.
L'astrazione dei dati in Java consente di concentrarsi su ciò che l'oggetto informativo deve contenere Incapsulamento significa nascondere i dettagli interni o la meccanica di come un oggetto fa qualcosa per motivi di sicurezza.

Differenza tra classe astratta e interfaccia

Classe astratta Interfaccia
Una classe astratta può avere metodi sia astratti che non astratti. L'interfaccia può avere solo metodi astratti.
Non supporta più eredità. Supporta più eredità.
Può fornire l'implementazione dell'interfaccia. Non può fornire l'implementazione della classe astratta.
Una classe astratta può avere metodi pubblici protetti e astratti. Un'interfaccia può avere solo metodi astratti pubblici.
Una classe astratta può avere una variabile finale finale, statica o statica con qualsiasi specificatore di accesso. L'interfaccia può avere solo una variabile finale statica pubblica.

Cos'è la classe astratta?

La classe astratta è un tipo di classe in OOP, che dichiara uno o più metodi astratti. Queste classi possono avere metodi astratti così come metodi concreti. Una classe normale non può avere metodi astratti. Una classe astratta è una classe che contiene almeno un metodo astratto.

Cosa sono i metodi astratti?

Il metodo astratto è un metodo che ha solo la definizione del metodo ma non contiene l'implementazione. Un metodo senza corpo è noto come metodo astratto. Deve essere dichiarato in una classe astratta. Il metodo abstract non sarà mai definitivo perché la classe abstract deve implementare tutti i metodi abstract.

Vantaggi dell'astrazione

  • Il vantaggio principale dell'utilizzo di un'astrazione nella programmazione è che consente di raggruppare diverse classi correlate come fratelli.
  • L'astrazione nella programmazione orientata agli oggetti aiuta a ridurre la complessità del processo di progettazione e implementazione del software.

Quando utilizzare metodi astratti e classe astratta?

I metodi astratti sono per lo più dichiarati in cui due o più sottoclassi stanno anche facendo la stessa cosa in modi diversi attraverso diverse implementazioni. Inoltre estende la stessa classe Abstract e offre diverse implementazioni dei metodi abstract.

Le classi astratte aiutano a descrivere i tipi generici di comportamenti e la gerarchia delle classi di programmazione orientata agli oggetti. Descrive anche le sottoclassi per offrire dettagli di implementazione della classe astratta.

Sommario:

  • L'astrazione nella programmazione è il processo di selezione di set di dati importanti per un oggetto nel software e tralascia quelli insignificanti.
  • Dopo aver modellato il tuo oggetto utilizzando l'astrazione dei dati in Java, lo stesso set di dati potrebbe essere utilizzato in diverse applicazioni.