Crie a classe , derivada das classes e . Inclua atributos do tipo string e . Crie um construtor para esta classe que chame explicitamente o construtor das classes base e um método print, que imprime o conteúdo da classe. Teste sua classe.
Passo 1
E aí, pessoal, vamos resolver a questão
Essa é uma questão de herança dupla! Vamos desenvolver uma classe chamada com base em duas classes mães e .
A classe vai herdar duas classes, e adicionar dois atributos do tipo string e um novo método. Então, vamos escrever o cabeçalho do código incluindo
Também vamos precisar escrever o código de cada uma das classes mães dentro do nosso código. Vamos aproveitar para entender essas classes enquanto digitamos elas no nosso código.
A classe possui dois atributos protegidos: e . E para inicializar os atributos é utilizado um método construtor
A classe é bem similar. Também possui dois atributos protegidos: e , e também utiliza um método construtor para inicializar os atributos.
Vixi! Mal começamos a questão é já temos mais de 20 linhas de código 🙃. Mas está tranquilo, porque até aqui a gente só copiou o enunciado.
Passo 2
Agora sim, vamos de fato pra questão: desenvolver a classe .
Aqui nós vamos executar uma herança dupla. Mas não é nada difícil, pra efetuar herança múltipla é assim:
No nosso caso temos apenas duas mães, então fica assim:
E prontinho. Agora a classe tem acesso a todos os atributos e métodos das classes mães.
Continuando, temos que declarar dois novos atributos para representar a cor e modelo do carro:
Agora vem a parte mais interessante da questão. Para inicializar todos os atributos da nossa classe nós podemos fazer um construtor. E não só isso, a gente pode fazer chamada aos construtores de todas as classes mães:
Aqui a gente tem apenas duas classes mães, então fica assim:
E sem dificuldade nós já inicializamos todos os parâmetros herdados! Agora é só a gente inicializar a cor e o modelo do carro:
E está quase acabando. A questão também pede que a classe possua um método que imprima o conteúdo. Então vamos criar o método que simplesmente utiliza o para imprimir todos os atributos.
Passo 3
Agora é hora de testar! Vamos criar um objeto do tipo carro e inicializar com alguns atributos. E depois utilizamos o método
E o resultado é:
E prontinho. Questão concluída!