package cin_2010_04_26.solucaoAvancada;

public class TestaAluno {

	public static void main(String[] args) {
		
		//Declaracao da variavel c do tipo Curso
		Curso c;
		
		//Cria¨‹o de um objeto Aluno (variavel c passa a referenciar o objeto criado)
		c = new Curso("Ciencia da Computacao", "C074-UFPE");

		//Declaracao da variavel al do tipo Aluno
		Aluno al;
		
		//Cria¨‹o de um objeto Aluno (variavel al passa a referenciar o objeto criado)
		// observe que agora temos de passar o curso no construtor
		al = new Aluno("Ricardo Massa", "111.111.111-11", "3.333.333", 13, c);

		//Imprimindo os dados do objeto referenciado pela variavel al
		//usando os mˇtodos get
		System.out.println("Dados do aluno: "+al.getNome());
		System.out.println("CPF: "+al.getCpf());
		System.out.println("RG: "+al.getIdentidade());
		System.out.println("Idade: "+al.getIdade());

		// Acessando o curso de al
		Curso curso = al.getCurso();
		
		// Acessando o nome do curso de al
		String nomeCurso = curso.getNome();
		System.out.println("Este aluno cursa: "+nomeCurso);
		
		//Alterando os dados do objeto referenciado pela variavel al
		//utilizando os mˇtodos set
		al.setNome("Sergio Soares");
		al.setCpf("222.222.222-22");
		al.setIdentidade("4.444.444");
		al.setIdade(24);
		
		//Criando um novo objeto Curso
		Curso novoCurso = new Curso("Engenharia da Computa¨‹o", "C096-UFPE");
		
		// Alterando o curso do objeto Aluno referenciado pela variavel al
		al.setCurso(novoCurso);
		
		//Imprimindo novamente os dados so objeto referenciado po al
		//para ver se os mˇtodos set realmente alteraram o objeto
		System.out.println("####################");
		System.out.println("Dados do aluno: "+al.getNome());
		System.out.println("CPF: "+al.getCpf());
		System.out.println("RG: "+al.getIdentidade());
		System.out.println("Idade: "+al.getIdade());
		Curso curso2 = al.getCurso();
		String nomeCurso2 = curso2.getNome();
		System.out.println("Este aluno cursa: "+nomeCurso2);
		
	}

}