[RESOLVIDO] Duvida Exercicio

7 respostas
G

Pessoal,

Estou fazendo um curso de Java sou iniciantes e não tenho muita experiencia com a linguagem. O professor passou um projeto solicitando que fosse criada as seguintes classes:

- Curso
- nome
- cargaHoraria

- Aluno
- nome
- idade

- Instrutor
- nome
- idade

A Classe Aluno deve extender "extends" da classe Curso.

Tenho que fazer os seguintes relacionamentos:

a) Criar um curso de Java oferecido pelo instrutor André
b) Criar um curso de Android oferecido pelo instrutor Ivan
c) Criar os alunos José, João, Ana, Jaqueline e Nelson, que fazem os seguintes cursos:
José e João: Java
Ana: Android
Jaqueline: Java e Android
Nelson: nenhum curso

d) Mostrar os nomes e idades de todos os alunos que fazem o curso de Java
e) Para cada aluno, listar os nomes dos cursos que faz

Porem estou com a seguinte dúvida, como eu faço para relacionar o Aluno com o Curso, e o Instrutor com o Curso. Criei as tres classes , mais não sei como dizer que o Aluno X faz o curso Y por exemplo.

Alguem pode me dizer como fazer isto?

Abaixo segue código das 3 classes que fiz:

Curso:
package cursos;

public class Curso {

	private int codCurso;
	private String nome;
	private int cargaHoraria;
	
	
		public int getCodCurso() {
			return codCurso;
		}
	
		public void setCodCurso(int codCurso) {
			this.codCurso = codCurso;
		}
	
	
		public String getNome() {
			return nome;
		}
		
		public void setNome(String nome) {
			this.nome = nome;
		}
		
		public int getCargaHoraria() {
			return cargaHoraria;
		}
		
		public void setCargaHoraria(int cargaHoraria) {
			this.cargaHoraria = cargaHoraria;
		}	
		
	
}
Aluno:
package pessoas;

import javax.swing.JOptionPane;
import cursos.Curso;

public class Aluno extends Curso {
 
		private String nome;
		private int idade;
		
		
		public String getNome() {
			return nome;
		}
		
		public void setNome(String nome) {
			this.nome = nome;
		}
		
		public int getIdade() {
			return idade;
		}
		
		public void setIdade(int idade) {
				
			if (idade >= 18){
				idade = this.idade = idade;
			}else{
				JOptionPane.showMessageDialog(null, "Usuário não cadastrado\n" +
						"Digite uma idade maior que 18 anos", "Erro ao cadastrar usuário", JOptionPane.ERROR_MESSAGE);
			}
				
		}
		
		//Retorna se o Aluno realiza o curso ou não.
		public boolean fazCurso(Curso curso){
			
			
			return false;

			
		}
	
	
	  
}
Instrutor:
package pessoas;

public class Instrutor {

	private String nome;
	private int idade;
	
	
	public String getNome() {
		return nome;
	}
	
	public void setNome(String nome) {
		this.nome = nome;
	}
	
	public int getIdade() {
		return idade;
	}
	
	public void setIdade(int idade) {
		this.idade = idade;
	}
	
	
}

Sei que ficou meio grande a explicação, se puderem me ajudar agradeço desde já !
Obrigado.

7 Respostas

carloshsamaral

Amigo eu tbm sou novo vamos veer se eu entendi, eu acho que vc deveria fazer uma classe main, chamando as 2 outras como aluno extends de curso ou então passa os parametros para um construtor, ai vai de vc acho melhor fazer utilizando list… e criar uma lista … não da para eu tentar fazer aqui agora no estágio … a noite eu tento fazer =]

PS: Se eu falei algum tipo de besteira por favor me corrijam !

G

Então na verdade o que eu não sei é como associar as classes.

Tipo como eu vou relacionar o Aluno com o curso, sendo que um aluno pode fazer vários cursos por exemplo como farei isto !

E como associar o instrutor ao curso.

carloshsamaral

Vou pegar aqui um exerc. que eu fiz no curso e te passar que é basicamente a msm coisa …

Já já edito !

leonardo_vieirarj

Gustavo,

Vc tem certeza que Aluno tem que herdar de Curso? Pra mim ñ faz muito sentido esse tipo de relacionamento.

Pq eu digo isso; existem dois tipos de relacionamento entre classes chamados composição e associação. Dá uma olhada na net e vê se esses tipos de relacionamento não fazem mais sentido do que o de herança.

Caio.Sergio

Concordo 100% com o Leonardo, esse extends nao fez muito sentido…

na verdade deveria ser uma agregação pois um curso é composto por vários alunos e 1 instrutor…

pesquise no google: agregação Java.

vlw Abraço

G

Pessoal,

Entendi melhor a situação agora e consegui resolver meu problemas.

Realmente ao invés de dar o Extends fiz o seguinte criei uma variavel do tipo Curso na classe Aluno.

Curso[] cursos = new Curso();

Destá forma consegui usar tranquilamente da forma que eu queria.

leonardo_vieirarj

Show de bola Gustavo!!

Depois edita ae o tópico, coloca [RESOLVIDO] no início do título

Criado 7 de maio de 2012
Ultima resposta 9 de mai. de 2012
Respostas 7
Participantes 4