Duvida sobre composição

1 resposta
M
Boa noite galera, ainda estou na faculdade e encontrei um prova minha de OO, e em uma questão o profº não me deu nota maxima por não ter usado corretamente a composição, então resolvi refazer a questão e postar aqui. o que eu queria era que vocês corrigissem ela pra mim, se usei corretamente.
public class Hd {

	private double tamanho;

	public double getTamanho() {
		return this.tamanho;
	}

	public void setTamanho(double tamanho) {
		this.tamanho = tamanho;
	}
	
}
public class LeitoraDvs {
	
	private int rotação;

	public int getRotação() {
		return this.rotação;
	}

	public void setRotação(int rotação) {
		this.rotação = rotação;
	}
	

}
public class Computador {
	
	private String tipo;
	private Hd hd = new Hd();
	private LeitoraDvs leitora = new LeitoraDvs();
	
	
	public String getTipo() {
		return this.tipo;
	}
	public void setTipo(String tipo) {
		this.tipo = tipo;
	}
	
	public void setTamanho(double tamanho){
		this.hd.setTamanho(tamanho);
	}
	
	public double getTamanho (){
		return this.hd.getTamanho();
	}
	
	public void setRotacao(int rotacao){
		this.leitora.setRotação(rotacao);
	}
	
	public int getRotacao(){
		return leitora.getRotação();
	}
	
	

}
public class CriaPc {

	public static void main (String args[]){

		Computador notebook = new Computador();
		notebook.setTipo("Notebook");
		notebook.setTamanho(360);
		notebook.setRotacao(5400);

		System.out.println("foi criado um computador do tipo "
				+ notebook.getTipo() + "\n com disco de tamanho "
				+ notebook.getTamanho() + " gb \n de velocidade de rotação "
				+ notebook.getRotacao()+" rpm");

	}

}

1 Resposta

sowyer

Bom … a meu ver, está faltando vc “compor” o seu PC com uma instancia de LeitoraDvs e uma instancia de HD ( ou mais, conforme seja ).

Vc está passando os valores… o correto seria vc fazer algo como:

Computador notebook = new Computador();
Hd hd = new Hd();
LeitoraDvs leitor = new LeitoraDvs();

hd.setTamanho(360);
leitor.setRotacao(5400);

notbook.setTipo("Notebook");
notebook.setHd(hd);
notebook.setLeitoraDvs(leitor);

Ou … caso você queria definir um construtor com os argumentos para “construir” o PC de uma vez só :

Hd hd = new Hd();
LeitoraDvs leitor = new LeitoraDvs();

hd.setTamanho(360);
leitor.setRotacao(5400);

Computador notebook = new Computador("Notebook", hd, leitor);

Pra isso, vc precisa alterar a sua classe Computador pra ficar dessa forma:

public class Computador {  
        private String tipo;  
        private Hd hd;  
        private LeitoraDvs leitora;  
      
        public Computador() {
        }

        public Computador(String tipo, Hd hd, LeitoraDvs leitora) {
               this.tipo = tipo;
               this.hd = hd;
               this.leitora - leitora;
        }

        public String getTipo() {  
            return this.tipo;  
        }  
    
        public void setTipo(String tipo) {  
             this.tipo = tipo;  
        }  
      
        public void setHd(Hd hd){  
            this.hd = hd;  
        }  
      
        public double getHd(){  
             return hd;  
        }  
      
        public void setLeitoraDvs(LeitoraDvs leitora){  
            this.leitora = leitora;  
        }  
      
        public int getLeitoraDvs(){  
            return leitora;  
        }  
}
Criado 12 de novembro de 2012
Ultima resposta 12 de nov. de 2012
Respostas 1
Participantes 2