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.
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
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.
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à.
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. |
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.
È 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
1. "Ereditarietà in Java - Javatpoint". Il punto, Disponibile qui
2.tutorialspoint.com. "Java Inheritance". Il punto, Disponibile qui