Herança, Classes e Construtores em POO
Classificado em Educação Artística
Escrito em em português com um tamanho de 2,26 KB.
Herança em Classes de Objetos
Um programador escreveu três classes utilizando herança: uma classe Objeto (superclasse) com os atributos cor e ano, uma classe Carro (subclasse) com os atributos fabricante e placa, e uma classe Animal (subclasse) com os atributos nome e raça. O programador explorou corretamente o conceito de herança?
Resposta: Não. A superclasse Objeto não possui relação com as subclasses Carro e Animal. Embora Carro e Animal possam ter atributos em comum, não compartilham um tipo base lógico. A herança deve representar um relacionamento “é um tipo de”.
Classe Carro
Construa uma classe Carro com os atributos fabricante, cor e ano, e seus respectivos métodos "get" e "set".
class Carro {
private String fabricante;
private String cor;
private int ano;
public String getFabricante() {
return fabricante;
}
public void setFabricante(String fabricante) {
this.fabricante = fabricante;
}
public String getCor() {
return cor;
}
public void setCor(String cor) {
this.cor = cor;
}
public int getAno() {
return ano;
}
public void setAno(int ano) {
this.ano = ano;
}
}
Classe Inteiro (QuaseInteiro)
Construa uma classe Inteiro com o atributo valor e um construtor sem parâmetros que inicialize valor com 0.
class QuaseInteiro { // Não estende Integer. 'Integer' é imutável.
public int valor;
public QuaseInteiro() {
this.valor = 0;
}
}
Classe Inteiro com Construtores Sobrecarregados
Modifique a classe Inteiro sobrecarregando o construtor, criando dois construtores: um com parâmetro do tipo int e outro do tipo String. Ambos devem inicializar o atributo valor.
class QuaseInteiro {
public int valor;
public QuaseInteiro(String valor) {
this.valor = Integer.parseInt(valor);
}
public QuaseInteiro(int valor) {
this.valor = valor;
}
}