Dúvida conceito java - Herança

1 resposta
Renato_Teixeira

Pessoal estou com uma dúvida que não achei solução ainda:

tenho o seguinte cenário:

Classe USUARIO
Classe ALUNO
Classe PROFESSOR

Aluno e Professor herdam de Usuario

o modelo de classe ficou da seguinte maneira:

[IMG]http://img197.imageshack.us/img197/5192/diagramaclasses27052009.th.jpg[/IMG]

segue link para quem não conseguir visualizar a imagem
[url]http://img197.imageshack.us/i/diagramaclasses27052009.jpg[/url]

e o banco de dados ficou assim:

[IMG]http://img197.imageshack.us/img197/2158/tcmlgicook.th.jpg[/IMG]
segue link para quem não conseguir visualizar a imagem
[url]http://img197.imageshack.us/i/tcmlgicook.jpg[/url]

Queria saber como ficam as minhas classes em java com isso, eu tenho todas assim:

USUARIO
public class CL_Usuario {

    
    private int CPF;
	private String Nome;
	private String email;
	private String foto;
	private boolean status;
	private CL_Login CL_Login;
	private CL_Mensagem CL_Mensagem;
	private CL_Arquivo CL_Arquivo;

    //set's de todos os atributos
    public void setCPF(int vCPF){
        CPF = vCPF;
    }
    public void setNome(String vNome){
        Nome = vNome;
    }
    public void setemail(String vemail){
        email = vemail;
    }
    public void setfoto(String vfoto){
        foto = vfoto;
    }
    public void setstatus(boolean vstatus){
        status = vstatus;
    }
    //==========================================================================
    //get's de todos os atributos
    public int getCPF(){
        return CPF;
    }
    public String getNome(){
        return Nome;
    }
    public String getemail(){
        return email;
    }
    public String getfoto(){
        return foto;
    }
    public boolean getstatus(){
        return status;
    }
    //==========================================================================
    //construtor
	public CL_Usuario(int CPFC, String NomeC, String emailC, String fotoC, boolean statusC, CL_Login CL_LoginC, CL_Mensagem CL_MensagemC, CL_Arquivo CL_ArquivoC){
		CPF = CPFC;
		Nome = NomeC;
		email = emailC;
        foto = fotoC;
		CL_Login = CL_LoginC;
        CL_Mensagem = CL_MensagemC;
        CL_Arquivo = CL_ArquivoC;
	}
ALUNO
public class CL_Aluno {
	
	private String JustifBloqueio;
	private CL_Turma CL_Turma;

    //set's de todos os atributos
    public void setJustifBloqueio(String vJustifBloqueio){
        JustifBloqueio = vJustifBloqueio;
    }
    //==========================================================================
    //get's de todos os atributos
    public String getJustifBloqueio(){
        return JustifBloqueio;
    }
    //==========================================================================
    //construtor
    	public CL_Login(String JustifBloqueioC,CL_Turma CL_TurmaC){
            JustifBloqueio = JustifBloqueioC;
            CL_Turma = CL_TurmaC;
    	}
PROFESSOR
public class CL_Professor {


	private CL_Disciplina CL_Disciplina;

    //construtor
	public CL_Professor(CL_Disciplina CL_DisciplinaC){
		CL_Disciplina = CL_DisciplinaC;
	}

	public void RegistrarDisc() {
	}
}

Agora gostaria de saber, se eu quiser utilizar OO para eu cadastrar alguma coisa como faço???

Suponhamos, tenho uma classe cadastro que chama usuário para cadastrar, este usuário é aluno como eu deveria prosseguir?

Pessoal se puderem me sanar esta dúvida é de grande ajuda.

Abs.

1 Resposta

J

Seguinte Renato_Teixeira. Tem uma apostila da Caelum muito boa e é esta “caelum-java-objetos-fj11”, vai clarear um pouco as suas idéias.
No seu exemplo quando você instanciar um objeto do tipo professor este objeto possuirá os atributos de professor e também os atributos definidos na classe usuário certo, mesma coisa se você criar um objeto do tipo aluno ele também possuirá os atributos de usuário. Agora é só setar seus atributos.
Só uma observação: os atributos da sua classe usuário serão herdados porém não estarão acessíveis devido ao modificador de acesso private mais isso se resolver utilizando o modificador de acesso protected.

Criado 16 de junho de 2009
Ultima resposta 17 de jun. de 2009
Respostas 1
Participantes 2