Diferença chave – Superclasse vs Subclasse
Na Programação Orientada a Objetos (POO), o sistema é modelado usando objetos. Esses objetos são criados usando uma classe. Uma classe é um blueprint ou uma descrição para criar um objeto. A criação de objetos também é conhecida como instanciação de objetos. Cada objeto está se comunicando com outros objetos. Um programa ou software pode ser desenvolvido usando Programação Orientada a Objetos. A herança é um conceito importante em OOP. Melhora a reutilização do código. Em vez de implementar um programa desde o início, ele permite herdar propriedades e métodos da classe já existente para uma nova classe. Isso ajuda a tornar o programa mais gerenciável. Superclasse e Subclasse são dois termos relacionados à herança. Este artigo discute a diferença entre Superclasse e Subclasse. A principal diferença entre a Superclasse e a Subclasse é que a Superclasse é a classe existente da qual as novas classes são derivadas, enquanto a Subclasse é a nova classe que herda as propriedades e métodos da Superclasse.
O que é Superclasse?
Em Herança, a classe existente da qual as novas classes são derivadas é conhecida como Superclasse. Também é conhecida como classe pai ou classe base.
Existem diferentes tipos de herança. Eles são ilustrados usando os exemplos a seguir. Considere A B e C como classes.
Figura 01: Tipos de herança
Figura 02: Herança Híbrida
De acordo com os diagramas acima, as Superclasses variam de acordo com cada tipo de herança. Na herança de nível único, A é a Superclasse. Na herança multinível, A é a superclasse de B e B é a superclasse de C. Na herança hierárquica, A é a superclasse de B e C. Em heranças múltiplas, A e B são superclasses de C.
Herança híbrida é uma combinação de heranças multiníveis e múltiplas. No diagrama do lado esquerdo, A é a Superclasse de B, C e B, C são as Superclasses de D. No diagrama do lado direito, A é a Superclasse de B e B, D são Superclasses de C.
Consulte o programa abaixo escrito em Java.
Figura 03: Programa de Herança em Java
De acordo com o programa acima, a classe A possui os métodos sum() e sub(). A classe B tem o método multiplique(). A classe B está estendendo a classe A. Portanto, as propriedades e métodos da classe A são acessíveis pela classe B. Portanto, a classe A é a Superclasse. O tipo de referência da classe B é usado para criar o objeto. Assim, todos os métodos como sum(), sub() e multiplique() são acessíveis pelo objeto. Se o tipo de referência Superclass for usado para criação de objetos, os membros da classe B não poderão ser acessados. por exemplo. A obj=new B(); Portanto, a referência de superclasse não pode chamar o método multiple() porque esse método pertence à classe B.
O que é Subclasse?
De acordo com os diagramas acima, as Subclasses variam de acordo com cada tipo de herança. Na Herança Simples, B é a Subclasse. Na herança multinível, B é a subclasse de A e C é a subclasse de B. Na Herança Hierárquica B e C são Subclasses de A. Em heranças múltiplas, C é a Subclasse de A e B.
Na herança híbrida, o diagrama à esquerda, B e C são subclasses de A. D é a subclasse de B e C. No diagrama à direita, B é a subclasse de A. C é a subclasse de B e D.
De acordo com o programa de herança acima, a classe B está estendendo a classe A. Portanto, todas as propriedades e métodos da classe A são acessíveis pela classe B. A classe B é a nova classe que herda da classe A. É conhecida como a Subclasse. Também é conhecida como classe filha ou classe derivada. A classe B tem o método multiplicar () e também pode acessar os métodos sum() e sub() da classe A usando herança.
Qual é a semelhança entre superclasse e subclasse?
Ambos estão relacionados à Herança
Qual é a diferença entre superclasse e subclasse?
Superclasse vs Subclasse |
|
Ao implementar herança, a classe existente da qual as novas classes são derivadas é a Superclasse. | Ao implementar herança, a classe que herda as propriedades e métodos da Superclasse é a Subclasse. |
Sinônimos | |
Superclasse é conhecida como classe base, classe pai. | Subclasse é conhecida como classe derivada, classe filha. |
Funcionalidade | |
Uma superclasse não pode usar as propriedades e métodos da Subclasse. | Uma subclasse pode usar as propriedades e métodos da Superclasse. |
Herança de nível único | |
Existe uma Superclasse. | Existe uma Subclasse. |
Herança Hierárquica | |
Existe uma Superclasse | Existem muitas subclasses. |
Herança Múltipla | |
Existem muitas Superclasses. | Existe uma Subclasse. |
Resumo – Superclasse vs Subclasse
Herança é um conceito de POO. Permite usar propriedades e métodos de uma classe existente para ser acessado por uma nova classe. A classe herdada é a Superclasse e a classe derivada é a Subclasse. A diferença entre a Superclasse e a Subclasse é que a Superclasse é a classe existente da qual as novas classes são derivadas, enquanto a Subclasse é a nova classe que herda as propriedades e métodos da Superclasse.
Baixe o PDF Superclass vs Subclass
Você pode baixar a versão em PDF deste artigo e usá-lo para fins offline conforme nota de citação. Faça o download da versão em PDF aqui Diferença entre superclasse e subclasse