Impara l'astrazione dei dati in Java

Pubblicato: 2021-11-11

Il concetto di astrazione dei dati può essere spiegato attraverso un esempio di vita reale. Consideriamo un esempio in cui un conducente alla guida di un veicolo sa che l'applicazione dei freni impedirà al veicolo di spostarsi ulteriormente. Quindi l'unica informazione che l'autista sa è che deve fermare il suo veicolo in movimento, quindi aziona i freni. Ma non conosce il meccanismo alla base di come il veicolo si ferma quando viene azionato un freno. Quindi questo concetto può essere paragonato al concetto di astrazione dei dati in cui vengono visualizzate solo le informazioni necessarie per essere conosciute dall'utente. Le informazioni sottostanti vengono mantenute nascoste. Quindi, questo è il concetto di astrazione e, quando viene applicato ai dati, è noto come astrazione dei dati.

La programmazione orientata agli oggetti fornisce modi per utilizzare il concetto di astrazione dei dati. Java è uno dei programmi orientati agli oggetti, segue la caratteristica dell'astrazione dei dati. In questi linguaggi di programmazione, le classi e le interfacce astratte vengono utilizzate per ottenere l'astrazione dei dati.

Il processo di astrazione dei dati in Java è ottenuto attraverso le classi astratte della classe. Le interfacce vengono utilizzate anche per l'astrazione dei dati oltre alle classi astratte. La parola chiave "abstract" viene utilizzata come modificatore di non accesso per i metodi e le classi. Quando definita con la parola chiave access, una classe è una classe astratta in cui non è consentita la creazione di oggetti. L'accesso alla classe astratta è possibile solo se ereditata da un'altra classe. I metodi astratti sono quei metodi che possono essere utilizzati solo nelle classi astratte. Questi metodi non hanno un corpo del metodo.

La sottoclasse generalmente fornisce il corpo. Le classi astratte possono contenere metodi sia regolari che astratti.

Sommario

Differenze tra una classe astratta e un metodo astratto

Le differenze tra una classe astratta e un metodo astratto sono:

1. Le classi astratte sono quelle classi dichiarate con la parola chiave abstract.

2. Un metodo astratto è un tale tipo di metodo che viene dichiarato senza la sua implementazione.

3. Una classe astratta non ha bisogno di avere tutti i metodi del metodo astratto al suo interno. Può anche contenere metodi non astratti.

4. Ogni volta che un metodo è definito come metodo astratto, dovrebbe anche essere definito di nuovo nella sottoclasse. Ciò renderà obbligatorio l'override e renderà anche astratta la sottoclasse.

5. Se una classe contiene metodi astratti, sia un metodo astratto che più di quello, dovrebbe essere dichiarata astratta utilizzando la parola chiave abstract.

6. Una classe astratta non può contenere alcun oggetto. Non è possibile utilizzare un nuovo operatore per creare un'istanza della classe astratta.

7. C'è sempre la presenza di costruttori predefiniti in una classe astratta. Inoltre, i costruttori parametrizzati possono essere presenti in una classe astratta.

Classe astratta Java

Il linguaggio di programmazione Java implementa l'astrazione attraverso classi astratte. Una classe astratta può essere definita come quella classe che viene dichiarata con la parola chiave "abstract" con un'istruzione speciale che queste classi non possono essere istanziate. Queste classi possono contenere o meno metodi astratti.

La sintassi di una classe astratta in Java è mostrata di seguito.

Il codice sopra è tratto da https://www.softwaretestinghelp.com/what-is-abstraction-in-java/ .

Nella sintassi di cui sopra, si può osservare che sia il metodo astratto che quello non astratto possono essere contenuti all'interno di una classe astratta. Inoltre, la parola chiave “abstract” viene posta prima della dichiarazione della classe.

Leggi di più sulla classe java abstract qui

Metodo astratto Java

I metodi Java abstract sono quei metodi che sono preceduti dalla parola chiave "abstract", ma non vi è alcuna implementazione dei metodi. I metodi Java abstract sono dichiarati all'interno della classe Java abstract.

A causa dei metodi astratti, la classe astratta Java diventa incompleta perché i metodi non possono essere implementati. Pertanto, l'inclusione di una forma astratta nella classe astratta rende naturalmente la classe astratta incompleta.

La sua implementazione nella sottoclasse può utilizzare il metodo abstract. Questa sottoclasse erediterà la classe astratta ed eseguirà l'implementazione dei metodi astratti. La sintassi generale del metodo astratto è

abstract void methodName (elenco_parametri);

Poche regole dovrebbero essere annotate durante la scrittura del metodo dell'abstract

  • Se una classe contiene più di un metodo astratto, la classe diventerà una classe astratta.
  • Non dovrebbero esserci parole chiave diverse da "abstract" durante la definizione della classe astratta e dei metodi.

Considerando i punti precedenti, in Java non sono consentite le seguenti possibilità.

  • finale
  • nativo astratto
  • statico astratto
  • astratto privato
  • astratto sincronizzato
  • rigore astratto

Di seguito è mostrato un esempio di astrazione dei dati in Java.

https://www.javatpoint.com/how-to-achieve-abstraction-in-java .

Il codice sopra è tratto da https://www.softwaretestinghelp.com/what-is-abstraction-in-java/ .

Nel codice sopra riportato è presente una classe Bank. C'è un metodo astratto all'interno della classe Bank che è getInterestRate(). Vengono dichiarate altre due classi BOI e ICICI, che ereditano la classe Banca. Queste classi dichiarate ereditano la classe Bank e quindi implementano il metodo getInterestRate() che restituisce i tassi di interesse.

Nel metodo primario viene creato un oggetto della Banca. L'oggetto della Banca è costituito da un oggetto di classe ICICI che visualizza il tasso di interesse. Nella fase successiva viene creato anche l'oggetto della classe BOI, che visualizza il tasso di interesse.

Astrazione dei dati attraverso l'interfaccia

Le interfacce sono simili alle classi Java, con l'unica differenza che ci sono metodi vuoti in un'interfaccia. Può anche essere definito come classi costituite da metodi astratti e costanti statiche. Ogni metodo presente nell'interfaccia è pubblico e non contiene alcun costruttore. L'interfaccia viene utilizzata per ottenere l'astrazione dei dati e viene utilizzata anche per eseguire eredità multiple in Java.

Alcune caratteristiche delle interfacce in Java sono:

  • Le interfacce possono essere utilizzate per ottenere l'astrazione totale.
  • Una singola classe può utilizzare più interfacce che portano al raggiungimento di più interfacce.
  • Le interfacce consentono di ottenere un accoppiamento libero.

La sintassi dell'interfaccia è mostrata di seguito:

La sintassi di cui sopra viene utilizzata da https://www.javatpoint.com/how-to-achieve-abstraction-in-java .

È possibile utilizzare un'interfaccia tramite la parola chiave "implement".

Alcune differenze tra le classi astratte e l'interfaccia sono:

  • Sia i metodi astratti che quelli non astratti possono essere contenuti all'interno delle classi astratte. Mentre, in un'interfaccia, possono essere presenti solo i metodi astratti.
  • Le variabili finali possono o non possono essere presenti nelle classi astratte. Nelle interfacce, le variabili possono essere finali come variabili predefinite.
  • L'abstract della classe può avere variabili non finali, finali, non statiche o statiche. Mentre, in un'interfaccia, possono essere presenti solo variabili statiche e finali.
  • La classe abstract consente l'implementazione di interfacce. Una classe astratta non può essere implementata in un'interfaccia.
  • L'ereditarietà di una classe astratta avviene tramite la parola chiave "extends". L'implementazione dell'interfaccia avviene tramite la parola chiave "implements".
  • La classe astratta può implementare più interfacce o altre classi possono essere estese dalla classe astratta. Considerando che un'interfaccia può consentire l'implementazione solo di un'altra interfaccia.
  • A parte i membri pubblici, sia i membri dati protetti che quelli privati ​​sono contenuti in una classe astratta. Considerando che i membri di un'interfaccia sono per impostazione predefinita pubblici.

Impara i corsi di software online dalle migliori università del mondo. Guadagna programmi Executive PG, programmi di certificazione avanzati o programmi di master per accelerare la tua carriera.

Conclusione

L'articolo ha descritto i concetti di astrazione dei dati e ha elencato come ottenere l'astrazione dei dati in Java. Per avere più esperienza nel linguaggio di programmazione Java, puoi consultare il Corso di sviluppo software offerto da upGrad. Il corso è progettato per professionisti che lavorano e ti formerà con progetti orientati al settore che svilupperanno le capacità di programmazione richieste. Maggiori informazioni possono essere recuperate attraverso il nostro sito web. Per qualsiasi informazione e aiuto, è possibile contattare il nostro team di assistenza.

Che cos'è l'astrazione dei dati?

L'astrazione dei dati è un concetto di progettazione del software. Il problema che risolve è creare strutture e funzioni di dati indipendenti dai tipi di dati su cui operano. Isola il codice dai tipi di dati e consente di utilizzare lo stesso codice in più situazioni. L'astrazione dei dati si ottiene quando i dati che sono rappresentati dalla struttura dei dati e le operazioni che possono essere applicate ad essi sono chiaramente definiti. L'astrazione è vitale nello sviluppo del software. È una delle forze fondamentali che portano a software più semplici, più piccoli e più affidabili. L'astrazione dei dati è una componente vitale dei linguaggi di alto livello.

Quali sono i vantaggi dell'astrazione in Java?

Come ottenere l'astrazione in Java?

Le astrazioni in Java vengono eseguite utilizzando le interfacce. Per implementare l'interfaccia, è necessario fornire anche l'implementazione. In realtà, non è necessario ereditare classi per implementare l'interfaccia. Le interfacce sono come qualsiasi altra classe in Java. Ciò che li rende diversi è il fatto che hanno un solo metodo.