Revisão de Conceitos de Herança e Classes em POO
Classificado em Educação Artística
Escrito em em
português com um tamanho de 3,18 KB
Análise do Conceito de Herança em POO
Um programador escreveu um conjunto de três classes utilizando o conceito de Herança:
- Uma Classe Objeto (SuperClasse) com os atributos
coreano. - Uma Classe Carro (SubClasse) com os atributos
fabricanteeplaca. - Uma Classe Animal (SubClasse) com os atributos
nomeeraça.
O programador explorou de maneira correta o conceito de Herança em POO? Explique.
O programador não explorou de maneira correta o conceito de herança em POO, porque a SuperClasse não está relacionada logicamente com suas subclasses. A herança deve modelar uma relação 'é um tipo de' (e.g., um Carro é um Veículo). As classes Animal e Carro são entidades distintas e não compartilham uma superclasse comum lógica como Objeto neste contexto específico, embora ambas possam herdar de uma classe base genérica em linguagens como Java (Object). Classes Carro e Animal não são subtipos uma da outra.
Implementação da Classe Carro com Getters e Setters
Construa uma Classe do tipo Carro com os atributos fabricante, cor e ano, e com seus respectivos métodos "get" e "set".
public class Carro {
public String fabricante;
public String cor;
public 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 QuaseInteiro com Construtor Padrão
Construa uma Classe do tipo QuaseInteiro com um atributo valor, e que tenha um método construtor sem parâmetro que inicialize o atributo valor com 0 (zero).
Nota: Em Java, um método com o mesmo nome da classe sem retorno é um construtor. No entanto, a herança de tipos primitivos wrappers como Integer não é recomendada.
class QuaseInteiro extends Integer {
public int valor;
// Construtor sem parâmetro
public QuaseInteiro() {
this.valor = 0;
}
}Sobrecarga de Construtores na Classe QuaseInteiro
Modifique a Classe QuaseInteiro sobrecarregando o método construtor criando dois construtores: um com parâmetro do tipo int e outro do tipo String. Estes parâmetros devem inicializar o atributo valor.
class QuaseInteiro extends Integer {
public int valor;
// Construtor com String
public QuaseInteiro(String valorStr) {
this.valor = Integer.parseInt(valorStr);
}
// Construtor com int
public QuaseInteiro(int valorInt) {
this.valor = valorInt;
}
}