Differenza chiave – Superclasse vs Sottoclasse
Nella programmazione orientata agli oggetti (OOP), il sistema viene modellato utilizzando gli oggetti. Questi oggetti vengono creati utilizzando una classe. Una classe è un progetto o una descrizione per creare un oggetto. La creazione di oggetti è anche nota come istanziazione di oggetti. Ogni oggetto comunica 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 riutilizzabilità 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 legati all'ereditarietà. Questo articolo discute la differenza tra Superclasse e Sottoclasse. La differenza fondamentale tra la Superclasse e la Sottoclasse è quella Superclasse è la classe esistente da cui derivano le nuove classi mentre Subclass è la nuova classe che eredita le proprietà e i metodi della Superclasse.
Cos'è la Superclasse?
In Ereditarietà, la classe esistente da cui derivano le nuove classi è nota come Superclasse. È anche conosciuta come classe genitore o classe base.
Ci sono diversi tipi di eredità. Sono illustrati utilizzando i seguenti esempi. Considera A B e C come classi.
Figura 01: Tipi di eredità
Figura 02: Ereditarietà ibrida
Secondo i diagrammi sopra, le Superclassi variano da ogni tipo di eredità. Nell'eredità a livello singolo, A è la Superclasse. Nell'ereditarietà multilivello, A è la Superclasse per B e B è la Superclasse per C. Nell'ereditarietà gerarchica A è la Superclasse sia per B che per C. Nelle eredità multiple sia A che B sono Superclassi per C.
L'ereditarietà ibrida è una combinazione di eredità multilivello e multiple. Nel diagramma di sinistra, A è la Superclasse di B, C e B, C sono le Superclassi di D. Nel diagramma di destra, A è la Superclasse di B e B, D sono le Superclassi di C.
Fai riferimento al programma sottostante scritto in Java.
Figura 03: Programma di ereditarietà in Java
Secondo il programma sopra, la classe A ha i metodi sum() e sub(). La classe B ha il metodo moltiplica(). La classe B estende la classe A. Pertanto, le proprietà e i metodi della classe A sono accessibili dalla classe B. Pertanto, la classe A è la Superclasse. Per creare l'oggetto viene utilizzato il tipo di riferimento della classe B. Quindi, tutti i metodi come sum(), sub() e multiply() sono accessibili dall'oggetto. Se viene utilizzato il tipo di riferimento Superclasse per la creazione di oggetti, i membri della classe B non possono essere accessibili. per esempio. A obj=nuovo B(); Pertanto, il riferimento Superclass non può chiamare il metodo multiply() perché quel metodo appartiene alla classe B.
Cos'è la sottoclasse?
Secondo i diagrammi sopra, le sottoclassi variano da ogni tipo di ereditarietà. Nell'ereditarietà singola, B è la sottoclasse. Nell'ereditarietà multilivello, B è la sottoclasse di A e C è la sottoclasse di B. Nell'ereditarietà gerarchica B e C sono sottoclassi di A. Nelle eredità 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 si e re.
Secondo il programma di ereditarietà sopra, 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. È nota come la Sottoclasse. È anche noto come classe figlia 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 correlati all'ereditarietà
Qual è la differenza tra superclasse e sottoclasse?
Superclasse 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 figlia. |
Funzionalità | |
Una superclasse non può utilizzare le proprietà e i metodi della sottoclasse. | Una sottoclasse può utilizzare le proprietà e i metodi della Superclasse. |
Ereditarietà a livello singolo | |
C'è una Superclasse. | C'è una sottoclasse. |
Eredità gerarchica | |
C'è una Superclasse | Ci sono molte sottoclassi. |
Eredità multipla | |
Ci sono molte Superclassi. | C'è una sottoclasse. |
Riepilogo – Superclasse vs Sottoclasse
L'ereditarietà è un concetto di OOP. Consente l'utilizzo di proprietà e metodi di una classe esistente per l'accesso da parte di una nuova classe. La classe ereditata è la Superclasse e la classe derivata è la Sottoclasse. La differenza tra Superclass e Subclass è che Superclass è la classe esistente da cui derivano nuove classi mentre Subclass è la nuova classe che eredita le proprietà e i metodi della Superclass.
Scarica il PDF Superclass vs Sottoclasse
Puoi scaricare la versione PDF di questo articolo e usarla per scopi offline come da nota di citazione. Si prega di scaricare la versione PDF qui Differenza tra superclasse e sottoclasse