Differenza tra Superclasse e Sottoclasse

Sommario:

Differenza tra Superclasse e Sottoclasse
Differenza tra Superclasse e Sottoclasse

Video: Differenza tra Superclasse e Sottoclasse

Video: Differenza tra Superclasse e Sottoclasse
Video: Lezione #11 : Ereditarietà tra classi - Corso Base Java 2024, Novembre
Anonim

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.

Differenza tra superclasse e sottoclasse
Differenza tra superclasse e sottoclasse

Figura 01: Tipi di eredità

Differenza tra superclasse e sottoclasse_Figura 02
Differenza tra superclasse e sottoclasse_Figura 02

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.

Differenza chiave tra superclasse e sottoclasse
Differenza chiave tra superclasse e sottoclasse

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

Consigliato: