Che cos'è l'ereditarietà Java?

Quando si tratta di Java, l'ereditarietà può essere utilizzata quando una classe desidera ereditare le caratteristiche di un'altra classe esistente. La classe che di solito desidera utilizzare la funzione di un'altra classe è nota come sottoclasse, mentre la classe le cui caratteristiche devono essere utilizzate è nota come superclasse.

In realtà, in Java, tutte le classi dovrebbero essere derivate da alcune classi. Ciò porta alla query "Dove inizierà tutto?" La classe più in alto, la classe da cui derivano altre classi, è una classe Object descritta in java.lang. L'oggetto è una radice di una struttura di classi

La figura seguente mostra questi due tipi di classi:

La sottoclasse segue condizioni e comportamenti come variabili e metodi della superclasse. La sottoclasse può usare solo gli elementi ereditati dall'essere superclasse e anche la sottoclasse può cambiare o sovrascrivere questo. Pertanto, man mano che cadi nella gerarchia, le classi diventano sempre più specifiche:

Ereditare dall'oggetto

Ogni classe eredita direttamente dalla classe Object

Nel diagramma sopra

grossista di classe pubblica estende l'oggetto (…… ..)

Il rivenditore di classe pubblica estende il grossista (…… ..)

materie prime di classe pubblica (…………)

La parola chiave extends mostra la classe genitore dalla quale la sottoclasse è generalmente ereditata e non può essere applicata come identificatore

Nella classe pubblica, Raw-Material non è necessario estendere la parola chiave per accedere direttamente alla classe Object.

Definizione di ereditarietà Java

Una sottoclasse è una classe che proviene da un'altra classe. Una sottoclasse segue le condizioni e il comportamento di tutti i loro antenati. Il concetto di superclasse identifica l'antenato diretto di una classe e tutte le sue classi ascendenti.

Comprensione dell'ereditarietà Java con un esempio

L'ereditarietà descrive la relazione is-a tra una superclasse e una sottoclasse. Estende e implementa i termini chiave che preferiscono esprimere l'eredità in Java.

Esistono diversi tipi di ereditarietà Java come di seguito.

  1. Eredità singola
  2. Ereditarietà multilivello
  3. Eredità gerarchica
  4. Ereditarietà multipla
  5. Eredità ibrida

  • Eredità singola

Se una classe estende una classe aggiuntiva, tale forma di eredità viene chiamata eredità a livello singolo.

public class A (
………..
)
public class B extends A (
………..
)

La classe B ha esteso la classe A e quindi la classe B utilizza il metodo displayA () della classe A perché è un metodo proprio.

  • Ereditarietà multilivello

Se una classe estende una classe aggiuntiva, che può essere essa stessa estesa semplicemente con una classe aggiuntiva, tale forma di eredità viene chiamata eredità multilivello.

public class A ( ……………… )
public class B extends A ( ……………… )
public class C extends B ( ……………… )

Produzione

La classe A è estesa semplicemente dalla classe B e quindi la classe B è di per sé estesa dalla classe C, che fornisce alla classe C un accesso diretto al metodo displayA () e displayB () di classe A e anche B semplicemente arrivando a questi un oggetto di classe C (senza dover generare oggetti di classe A e B).

  • Eredità gerarchica

Quando un paio di classi ereditano la stessa classe, quindi questa è nota come eredità gerarchica. Ad esempio, le classi B e C estendono la stessa classe A.

public class A ( ……………… )
public class B extends A ( ……………… )
public class C extends A ( ……………… )

Se una classe ha più di una classe figlio (sottoclasse), così come sostanzialmente più di una classe figlio, ha una classe genitore simile, semplicemente tale tipo di eredità viene chiamata eredità gerarchica.

Stiamo scrivendo un codice in cui la classe B e C estende la classe A

  • Ereditarietà multipla

La sintassi per l'ereditarietà multipla

public class A ( ……………… )
public class B extends A ( ……………… )
public class D extends A, B, C ( ……………….. )

Nota: Ereditarietà multipla non supportata in java.

Java non supporta più eredità. Questo perché eredità multiple causano ambiguità e quindi Java non la utilizza. L'emissione del diamante aiuta a comprendere questo scenario.

Tuttavia, è possibile ottenere più eredità in Java utilizzando le interfacce. Indipendentemente se molte quantità di interfacce in una classe con un metodo esatto, non vi è alcuna indicazione di ambiguità poiché i metodi all'interno di un'interfaccia sono spesso astratti.

L'altro modo è usare le interfacce. Le interfacce inizieranno a diventare importanti.

Un'interfaccia specifica la forma dei suoi metodi ma non fornisce alcun dettaglio di implementazione; quindi, puoi pensarlo come la dichiarazione di una classe.

puoi creare l'interfaccia con la parola chiave interface:

interface C
(
…………………………
)
interface b
(
…………………….
)
class a implements b, c
(
………………………
)

Possiamo usare queste due interfacce con la parola chiave implementa:

  • Eredità ibrida

L'eredità ibrida è principalmente una miscela di più di un tipo di eredità. Come quando la classe A e B estendono la classe C Plus un'ulteriore classe D estende la classe A dopo che questa può essere un'eredità ibrida poiché è la varietà dell'eredità singola e gerarchica.

Produzione

Interruzione dell'ereditarietà con la parola chiave finale

È possibile impedire che la classe sia una sottoclasse dichiarando l'intera classe finale come di seguito

final class animal
(
public void breathe()
(
System.out.println("Breathing…");
)
)
class dog extends animal
(
public void breathe()
(
System.out.println("Barking…");
)
)
public class history
(
public static void main(String() args)
(
System.out.println("Creating an animal…");
animal a = new animal();
a.breathe();
System.out.println();
System.out.println("Creating an bulldog…");
dog d = new dog();
d.breathe();
)
)

Se si tenta di eseguire questo codice:

Non è possibile sottoclassare le classi finali: la classe classe animale cane estende l'errore animale 1 generato.

Creazione di costanti con la parola chiave finale

Per impedire l'override del metodo e per impedire la sottoclasse. C'è un altro uso di final in Java che puoi usare per dichiarare le costanti.

Secondo il codice seguente:

public class history
(
Public static void main(String() args)
(
final int a = 4;
a = 5;
)
)

Se si tenta di eseguire questo codice:

Impossibile assegnare un valore a una variabile finale: viene generato un errore 1

Principali società di ereditarietà Java

  1. Intel
  2. VM ware
  3. Adobe
  4. Nvidia
  5. Amazon
  6. Cisco
  7. Akamai
  8. Elettronica Philips.
  9. IBM
  10. LINFA

Vantaggi dell'ereditarietà Java

Considerata una delle caratteristiche principali dell'ereditarietà, viene utilizzata per ridurre la quantità di codice duplicato in un modulo di domanda condividendo il codice ordinario tra molte sottoclassi. Laddove un codice uguale può essere ottenuto in due classi correlate, la gerarchia può normalmente essere rifattorizzata per trasferire il codice ordinario in una superclasse reciproca. Ciò si tradurrà in un'organizzazione superiore del codice e in unità di compilazione più semplici di dimensioni inferiori.

  • Eredità : può creare un codice dell'applicazione molto più adattabile da modificare semplicemente perché le classi che ereditano da una superclasse standard possono essere utilizzate in modo intercambiabile. Quando il tipo restituito di una procedura è la superclasse.
  • Riusabilità - Capacità di gestire metodi pubblici di una classe base senza riscrivere il simile.
  • Estensibilità : estensione della logica della classe base in base alla logica aziendale della classe derivata.
  • Nascondersi dati : la classe base potrebbe voler mantenere alcuni dati privati, quindi non viene mai modificato dalla classe derivata.
  • Sostituzione - Con l'ereditarietà, possiamo riuscire a sovrascrivere i metodi della classe base in modo che l'implementazione importante del metodo della classe base possa essere completata nella classe derivata.

Perché dovremmo usare Java Inheritance?

L'ereditarietà è un concetto di programmazione efficace, ma può essere semplice da utilizzare in modo inappropriato. Di solito, le interfacce sono efficaci più efficienti.

L'ereditarietà è la scelta migliore quando:

  • La gerarchia ereditaria indica una relazione "is-a", ma non una relazione "has-a".
  • È possibile riutilizzare il codice dalle classi di base.
  • Potrebbe essere necessario applicare la classe e i metodi simili a tipi di dati distinti.
  • La gerarchia di classi è piuttosto superficiale, insieme ad altri sviluppatori non stanno davvero contribuendo molte più fasi.
  • Si desidera creare variazioni globali alle classi derivate modificando una classe base.

Perché abbiamo bisogno dell'ereditarietà Java?

Java Inheritance è un concetto OOP (programmazione orientata agli oggetti). Lo scopo principale dell'ereditarietà è quello di creare sempre una certa parte del codice del progetto riutilizzabile con la possibilità di aggiungere o eliminare funzionalità selezionate in seguito. Una classe figlio potrebbe ereditare o sovrascrivere i metodi selezionati dalla classe genitrice che ha ereditato; sono i metodi da senza scambiare la classe genitrice di se stesso. Questo può eventualmente includere i suoi nuovi metodi che di solito non si trovano nella classe figlio.

  • Incapsulamento: quando coinvolgiamo alcuni attributi regolari, dopo li incapsuliamo in una classe genitore e forniamo semplicemente attributi particolari alle classi figlio.
  • Polimorfismo : potremmo utilizzare il polimorfismo con l'ereditarietà in Java. Per garantire in base alla forma della classe Child, la classe esatta agisce in modo diverso.
  • Riusabilità del codice : l'applicazione dell'ereditarietà può essere utile per riutilizzare il codice.
  • Efficienza : può essere efficace applicare l'ereditarietà durante la scrittura del codice. Ciò potrebbe aumentare la velocità del compito.

Come nella vita reale, un bambino potrebbe ereditare funzionalità selezionate dai suoi genitori e, attraverso variazioni ambientali selezionate, sviluppare nuove funzionalità o eliminare funzionalità che ha ottenuto dai suoi genitori.

Chi è il pubblico giusto per l'apprendimento delle tecnologie Java Inheritance?

Quando si pensa a cosa si dovrebbe fare con Java Inheritance, diversi sviluppatori pensano di costruire:

Sviluppatore Android -

Android è il sistema operativo mobile più efficace nel mercato competitivo di oggi con oltre 1, 5 milioni di nuovi dispositivi attivati ​​al giorno. La formazione Android ti offre un'esperienza pratica nella creazione e nella costruzione di app Android facili e complesse, assicurandoti la competenza per acquisire il lavoro IT dei tuoi sogni. Potresti avere un'ottima storia nella programmazione, ma l'allenamento Android ti aiuterà a migliorare le tue abilità.

Android sta sicuramente crescendo, quindi quando apprendi i principi fondamentali e le funzionalità, il tuo set di abilità diventerà corretto in aggiunta ad esso. Gli sviluppatori possono creare giochi e app per gli utenti Android e diffonderli in un mondo aperto. La formazione Android è uno dei fatti più intelligenti che uno sviluppatore può realizzare, quindi ha molti vantaggi.

Sviluppatore IoT -

Al momento puoi ascoltare molto sull'Internet of Things (IoT). L'IoT è dappertutto, dai sensori in enormi macchinari industriali in dispositivi smart-house come le telecamere di sicurezza digitali. Fondamentalmente, sapevi che il popolare termostato Nest dipenderà da una straordinaria combinazione di Java e AI? Alcuni distributori automatici intelligenti dipendono da Java, che lavora con software per tenere traccia di inventario, temperatura, umidità e regione. Inoltre, diverse applicazioni tecnologiche indossabili sono progettate in Java Inheritance.

Analisi dei Big Data -

Oggi l'analisi dei big data è al centro di uno degli usi più interessanti della tecnologia. Studi di ricerca in diversi settori chiave stanno applicando tecniche innovative di analisi dei dati per apprendere nuovi schemi in grandi volumi di dati anche per capire meglio processi complessi.

Sistemi integrati -

I sistemi integrati, a partire da piccoli chip per computer specializzati, sono in realtà componenti di dispositivi elettromeccanici più grandi che eseguono attività impegnate. Molti dispositivi, proprio come le schede SIM, i lettori di dischi Blu-ray, i contatori delle utenze e i televisori, utilizzano soluzioni Java integrate. Secondo Oracle, Java utilizza il 100% dei lettori Blu-ray Disc e 125 milioni di dispositivi televisivi.

In che modo questa tecnologia ti aiuterà nella crescita della carriera?

Java è tra i linguaggi di programmazione più importanti ed essenzialmente utilizzati nel mondo dell'Information Technology. Java è inoltre un linguaggio di programmazione fondamentale che può essere facilmente imparato anche da un dispositivo più fresco. Secondo il rapporto di Oracle Java, viene eseguito in oltre 3 miliardi di dispositivi ..!

Java è un linguaggio di programmazione sempreverde. Quasi tutte le società note tra cui IBM, Infosys, CTS e TCS stanno applicando Java come linguaggio di programmazione ideale.

Oggi gli attuali sviluppatori Java con cui possono giocare gli sviluppatori sono elencati di seguito,

  1. Java con Selenium Automation Tester
  2. Java con DevOps
  3. Java con sviluppo Hadoop

Conclusione

L'ereditarietà è un'arma potente di Java che può aiutare ad avere successo in una lingua più adatta. Può aiutare a ridurre al minimo la duplicazione del codice e riduce i bug. Con il codice impostato nella classe padre, non è più possibile scrivere codice simile per molte classi figlio con le stesse caratteristiche. Pertanto, l'ereditarietà in Java esegue la riusabilità del codice per essere certamente una migliore facilità di accesso agli utenti finali.

Articoli consigliati

Questa è stata una guida a Che cos'è l'ereditarietà Java. Qui abbiamo discusso il concetto di base, le competenze richieste, la crescita della carriera e i vantaggi dell'ereditarietà Java. Puoi anche consultare i nostri altri articoli suggeriti per saperne di più -

  1. Che cos'è l'intelligenza artificiale
  2. Che cos'è JavaScript?
  3. Cos'è l'HTML?
  4. Che cos'è Azure?
  5. Parola chiave finale in Java

Categoria: