Diferència clau: superclasse vs subclasse
A la Programació Orientada a Objectes (OOP), el sistema es modela mitjançant objectes. Aquests objectes es creen mitjançant una classe. Una classe és un pla o una descripció per crear un objecte. La creació d'objectes també es coneix com a instanciació d'objectes. Cada objecte es comunica amb altres objectes. Un programa o programari es pot desenvolupar mitjançant la Programació Orientada a Objectes. L'herència és un concepte important en POO. Millora la reutilització del codi. En lloc d'implementar un programa des del principi, permet heretar propietats i mètodes de la classe ja existent a una classe nova. Ajuda a fer el programa més manejable. Superclasse i Subclasse són dos termes relacionats amb l'herència. En aquest article es parla de la diferència entre Superclasse i Subclass. La diferència clau entre la Superclasse i la Subclasse és que la Superclasse és la classe existent de la qual es deriven les noves classes, mentre que la Subclasse és la nova classe que hereta les propietats i els mètodes de la Superclasse.
Què és Superclass?
A l'herència, la classe existent de la qual es deriven les noves classes es coneix com a Superclasse. També es coneix com a classe principal o classe base.
Hi ha diferents tipus d'herència. S'il·lustren amb els exemples següents. Considereu A B i C com a classes.
Figura 01: Tipus d'herència
Figura 02: herència híbrida
Segons els diagrames anteriors, les superclasses varien segons el tipus d'herència. En l'herència d'un sol nivell, A és la Superclasse. En l'herència multinivell, A és la superclasse per a B i B és la superclasse per a C. En l'herència jeràrquica A és la superclasse per a B i C. En les herències múltiples, tant A com B són superclasses per a C.
L'herència híbrida és una combinació d'herències multinivell i múltiples. Al diagrama de l'esquerra, A és la superclasse de B, C i B, C són les superclasses de D. Al diagrama de la dreta, A és la superclasse de B i B, D són superclasses de C.
Consulteu el programa següent escrit en Java.
Figura 03: Programa d'herència a Java
Segons el programa anterior, la classe A té mètodes sum() i sub(). La classe B té el mètode multiplicar (). La classe B està ampliant la classe A. Per tant, les propietats i els mètodes de la classe A són accessibles per la classe B. Per tant, la classe A és la Superclasse. El tipus de referència de la classe B es pren per crear l'objecte. Així, tots els mètodes com sum(), sub() i multiplicar() són accessibles per l'objecte. Si s'utilitza el tipus de referència Superclass per a la creació d'objectes, no es pot accedir als membres de la classe B. per exemple. A obj=nou B(); Per tant, la referència de la superclasse no pot cridar el mètode multiplicar() perquè aquest mètode pertany a la classe B.
Què és la subclasse?
Segons els diagrames anteriors, les subclasses varien segons el tipus d'herència. En l'herència única, B és la subclasse. En l'herència multinivell, B és la subclasse d'A i C és la subclasse de B. En l'herència jeràrquica B i C són subclasses d'A. En herències múltiples, C és la subclasse per a A i B.
A l'herència híbrida, el diagrama de l'esquerra, B i C són subclasses d'A. D és la subclasse de B i C. Al diagrama de la dreta, B és la subclasse d'A. C és la subclasse de B i D.
Segons el programa d'herència anterior, la classe B està estenent la classe A. Per tant, totes les propietats i mètodes de la classe A són accessibles per la classe B. La classe B és la nova classe que hereta de la classe A. Es coneix com la subclasse. També es coneix com a classe fill o classe derivada. La classe B té el mètode multiplicar () i també pot accedir als mètodes sum() i sub() de la classe A mitjançant l'herència.
Quina semblança hi ha entre la superclasse i la subclasse?
Tots dos estan relacionats amb l'herència
Quina diferència hi ha entre la superclasse i la subclasse?
Superclasse vs Subclasse |
|
Quan s'implementa l'herència, la classe existent de la qual es deriven les noves classes és la Superclasse. | Quan s'implementa l'herència, la classe que hereta les propietats i els mètodes de la Superclasse és la Subclasse. |
Sinònims | |
La superclasse es coneix com a classe base, classe principal. | La subclasse es coneix com a classe derivada, classe infantil. |
Funcionalitat | |
Una superclasse no pot utilitzar les propietats i els mètodes de la subclasse. | Una subclasse pot utilitzar les propietats i els mètodes de la Superclasse. |
Herència d'un sol nivell | |
Hi ha una superclasse. | Hi ha una subclasse. |
Herència jeràrquica | |
Hi ha una superclasse | Hi ha moltes subclasses. |
Herència múltiple | |
Hi ha moltes superclasses. | Hi ha una subclasse. |
Resum - Superclasse vs Subclasse
L'herència és un concepte de POO. Permet l'ús de propietats i mètodes d'una classe existent per accedir a una nova classe. La classe heretada és la Superclasse i la classe derivada és la Subclasse. La diferència entre la Superclasse i la Subclasse és que la Superclasse és la classe existent de la qual es deriven les noves classes, mentre que la Subclasse és la nova classe que hereta les propietats i els mètodes de la Superclasse.
Baixa el PDF Superclass vs Subclass
Podeu baixar la versió PDF d'aquest article i utilitzar-la per a finalitats fora de línia segons la nota de citació. Si us plau, descarregueu la versió PDF aquí Diferència entre superclasse i subclasse