Duvida sobre composição

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.

[code]public class Hd {

private double tamanho;

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

public void setTamanho(double tamanho) {
	this.tamanho = tamanho;
}

}[/code]

[code]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;
}

}[/code]

[code]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();
}

}[/code]

[code]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");

}

}[/code]

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;  
        }  
}