Differenza tra la superclasse e la sottoclasse

Differenza chiave - Superclasse vs Sottoclasse
 

In Object Oriented Programming (OOP), il sistema viene modellato utilizzando gli oggetti. Questi oggetti sono creati usando una classe. Una classe è un progetto o una descrizione per creare un oggetto. La creazione dell'oggetto è anche nota come istanziazione di oggetti. Ogni oggetto sta comunicando con altri oggetti. Un programma o un software può essere sviluppato utilizzando la programmazione orientata agli oggetti. L'ereditarietà è un concetto importante in OOP. Migliora la riusabilità del codice. Anziché implementare un programma dall'inizio, consente di ereditare proprietà e metodi della classe già esistente in una nuova classe. Aiuta a rendere il programma più gestibile. Superclasse e Sottoclasse sono due termini correlati all'ereditarietà. Questo articolo discute la differenza tra Superclass e Sottoclasse. Il differenza fondamentale tra la Superclasse e la Sottoclasse è quello Superclasse è la classe esistente da cui derivano le nuove classi mentre Sottoclasse è la nuova classe che eredita le proprietà e i metodi della Superclasse.

CONTENUTO

1. Panoramica e differenza chiave
2. Cos'è la Superclasse
3. Cos'è la sottoclasse
4. Somiglianze tra la superclasse e la sottoclasse
5. Confronto affiancato - Superclasse vs Sottoclasse in forma tabulare
6. Sommario

Cos'è la Superclasse?

In Inheritance, la classe esistente da cui derivano le nuove classi è nota come Superclasse. È anche noto come classe genitore o classe base.

Esistono diversi tipi di ereditarietà. Ci sono illustrati usando i seguenti esempi. Considera A B e C come classi.

Figura 01: Tipi di ereditarietà

Figura 02: Eredità ibrida

Secondo i diagrammi sopra, le Superclassi variano da ogni tipo di eredità. Nell'ereditarietà a livello singolo, A è la Superclasse. Nell'ereditarietà multilivello, A è la Superclasse per B e B è la Superclasse per C. Nell'eredità gerarchica A è la Superclasse per B e C. Nelle eredità multiple sia A che B sono Superclassi per C.

L'ereditarietà ibrida è una combinazione di eredità multi-livello e multiple. Nel diagramma a sinistra, A è la Superclasse per B, C e B, C sono le Superclassi per D. Nel diagramma a destra, A è la Superclasse per B e B, D sono Superclassi per C.

 Fare riferimento al seguente programma scritto in Java.

Figura 03: Programma di ereditarietà in Java

Secondo il programma di cui sopra, la classe A ha i metodi sum () e sub (). La classe B ha il metodo multiply (). La classe B estende la classe A. Pertanto, le proprietà e i metodi della classe A sono accessibili per la classe B. Pertanto, la classe A è la Superclasse. Il tipo di riferimento della classe B viene utilizzato per creare l'oggetto. Quindi, tutti i metodi come sum (), sub () e multiply () sono accessibili dall'oggetto. Se il tipo di riferimento Superclass viene utilizzato per la creazione dell'oggetto, i membri della classe B non possono essere accessibili. per esempio. A obj = new B (); Pertanto, il riferimento Superclass non può chiamare il metodo multiply () perché tale metodo appartiene alla classe B.

Cos'è la sottoclasse?

Secondo i diagrammi precedenti, le sottoclassi variano da ciascun tipo di ereditarietà. In Single Inheritance, B è la sottoclasse. Nell'ereditarietà a più livelli, B è la sottoclasse di A e C è la sottoclasse di B. Nell'eredità gerarchica B e C sono sottoclassi di A. In ereditarietà multiple, C è la sottoclasse per A e B.

Nell'ereditarietà ibrida, il diagramma a sinistra, B e C sono sottoclassi di A. D è la sottoclasse di B e C. Nel diagramma a destra, B è la sottoclasse di A. C è la sottoclasse di B e D.

Secondo il suddetto programma di ereditarietà, la classe B estende la classe A. Pertanto, tutte le proprietà e i metodi della classe A sono accessibili dalla classe B. La classe B è la nuova classe che eredita dalla classe A. È conosciuta come sottoclasse. È anche noto come classe figlio o classe derivata. La classe B ha il metodo multiply () e può anche accedere ai metodi sum () e sub () della classe A usando l'ereditarietà.

Qual è la somiglianza tra la superclasse e la sottoclasse?

  • Entrambi sono legati all'ereditarietà.

Qual è la differenza tra la superclasse e la sottoclasse?

Superclass vs Sottoclasse

Quando si implementa l'ereditarietà, la classe esistente da cui derivano le nuove classi è la Superclasse. Quando si implementa l'ereditarietà, la classe che eredita le proprietà e i metodi dalla Superclasse è la Sottoclasse.
 Sinonimi
La superclasse è conosciuta come classe base, classe genitore. La sottoclasse è conosciuta come classe derivata, classe figlio.
Funzionalità
Una superclasse non può usare le proprietà e i metodi della sottoclasse. Una sottoclasse può utilizzare le proprietà e i metodi della Superclasse.
 Single-Level-Inheritance
C'è una Superclasse. C'è una sottoclasse.
Ereditarietà gerarchica
C'è una Superclasse Ci sono molte sottoclassi.
ereditarietà multipla
Ci sono molte Superclassi. C'è una sottoclasse.

Sommario - Superclasse vs Sottoclasse 

L'ereditarietà è un concetto di OOP. Permette di usare proprietà e metodi di una classe esistente per accedere a una nuova classe. La classe ereditata è la Superclasse e la classe derivata è la Sottoclasse. La differenza tra la Superclasse e la Sottoclasse è che Superclasse è la classe esistente da cui derivano nuove classi mentre Sottoclasse è la nuova classe che eredita le proprietà e i metodi della Superclasse.

Scarica il PDF Superclass vs Sottoclasse

È possibile scaricare la versione PDF di questo articolo e utilizzarlo per scopi offline come da nota di citazione. Si prega di scaricare la versione PDF qui Differenza tra Superclasse e Sottoclasse

Riferimento:

1. "Ereditarietà in Java - Javatpoint". Il punto, Disponibile qui 
2.tutorialspoint.com. "Java Inheritance". Il punto, Disponibile qui