Observe a classe abaixo. Use herança e polimorfismo para criar a classe
A classe acima utiliza o cabeçalho
Passo 1
Vamos nessa, pessoal.
A questão já foi bacana com a gente e entregou a classe mãe prontinha! Então tudo que temos que fazer é criar a classe filha.
A classe mãe representar um vetor de duas dimensões, e já possui as coordenadas e e o método para calcular o módulo desse vetor.
Para criar uma classe para vetores de três dimensões a gente pode herdar a classe e ganhamos sem esforço algum os atributos e , e a gente só vai precisar adicionar o atributo .
Já o método terá de sofrer polimorfismo. Afinal de contas, na classe mãe tanto a mensagem exibida quanto o cálculo só funcionam para vetores de duas dimensões. Então vamos usar polimorfismo para substituir esse método para uma versão tridimensional.
Mas primeiro, vamos escrever o cabeçalho da questão, que vai precisar incluir o
E também já vamos copiar o código da classe mãe pra dentro do nosso código:
Passo 2
Certo. Vamos agora desenvolver a nossa classe.
Primeiro, vamos declarar a classe que herda a classe . Lembre-se para criar uma classe com herança é assim:
Beleza! Agora nós temos os atributos e e o método a nossa disposição. O próximo passo é adicionar o atributo :
Show! Agora, a gente tem que lembrar que o método não é adequado para vetores de três dimensões. Então vamos executar polimorfismo para adaptar o método.
Para executar polimorfismo não tem segredo. É só a gente escrever um novo método com nome dentro da nossa classe filha!
Então, dentro de vamos escrever a classe . Nesse método “polimorfado” a gente vai imprimir uma mensagem utilizando os três atributos , e . E em seguida, vamos escrever uma equação que calcule o módulo de um vetor tridimensional.
E prontinho! A classe filha e o polimorfismos estão feitos.
Passo 3
Agora é só a gente testar pra ver se deu tudo certo:
Pra testar, é só a gente criar um objeto de cada classe.
Vamos preencher os atributos do vetor bidimensional e executar o método módulo:
E fazer a mesma coisa com o vetor 3D:
E prontinho! Rodando o código vemos que deu tudo certo: