Ajuda na Implementação

Olá Moçada.

Ai, sou iniciante na linguagem. Estou implementando um programa basico(didático), que aliás é uma prova do bimestre, para entregar domingo.
Tenho 3 classes no programa: “funcionario”, “dependentes”, “Bd”. Numa tela vou cadastrar um funcionario, mas antes de concluir o cadastro, tenho que cadastrar um ou + dependentes, num botão que chamará a tela de cadastro de dependentes. Feito, voltará à tela de funcionario e então conclui-rá clicando no botao Ok.

Minha duvida: consigo cadastrar um funcionario , mas sem os dependentes. Tenho que cadastrar tudo isso num unico objeto que será um funcionario com seus dependentes, para depois imprimi-los numa tabela.

Alguem pode me ajudar . . . Desd já agradeço . . .

Minhas classes:

Funcionario

[code]package classes;

public class Funcionario {

private String nome;
private String endereco;
private String telefone;
private String sexo;
private String matricula;
private Dependente dependente;

public Dependente getDependente() {
    return dependente;
}

public void setDependente(Dependente dependente) {
    this.dependente = dependente;
}

public String getEndereco() {
    return endereco;
}

public void setEndereco(String endereco) {
    this.endereco = endereco;
}

public String getMatricula() {
    return matricula;
}

public void setMatricula(String matricula) {
    this.matricula = matricula;
}

public String getNome() {
    return nome;
}

public void setNome(String nome) {
    this.nome = nome;
}

public String getSexo() {
    return sexo;
}

public void setSexo(String sexo) {
    this.sexo = sexo;
}

public String getTelefone() {
    return telefone;
}

public void setTelefone(String telefone) {
    this.telefone = telefone;
}

public String toString() {
    return this.matricula + " - " + this.nome + " - " + this.endereco + " - " + this.telefone + " - " + this.sexo;
}

}
[/code]

Dependente

[code]package classes;

public class Dependente extends Funcionario {

private String nomeDep;
private String grau;
private Funcionario funcionario;

public String getNomeDep() {
    return nomeDep;
}

public void setNomeDep(String nomeDep) {
    this.nomeDep = nomeDep;
}

public String getGrau() {
    return grau;
}

public void setGrau(String grau) {
    this.grau = grau;
}

public Funcionario getFuncionario() {
    return funcionario;
}

public void setFuncionario(Funcionario funcionario) {
    this.funcionario = funcionario;
}[/code]

Bd

[code]package classes;

import java.util.Vector;

public class Bd {
private static Vector vecFuncionario = new Vector();
private static Vector vecDependente = new Vector();

public static Vector getVecDependente() {
    return vecDependente;
}

public static void setVecDependente(Vector vecDependente) {
    Bd.vecDependente = vecDependente;
}

public static Vector getVecFuncionario() {
    return vecFuncionario;
}

public static void setVecFuncionario(Vector vecFuncionario) {
    Bd.vecFuncionario = vecFuncionario;
}[/code] :?:

Você acha que um dependente é um funcionário?
Se sim, mantenha a herança que está usando.
Se não, remova isso e repense nessa lógica.
Pra dar um empurrãozinho, um funcionário, na verdade, tem vários dependentes. Logo você precisa que funcionário tenha um atributo capaz de armazenar os dependentes.

Outra dica, pesquise sobre as diferenças entre as classes Vector e ArrayList. Ache um bom motivo para trocar Vector por ArrayList no seu código.

rod.attack

…Um funcionario nao é um dependente. Ele tem muitos dependentes.

Ih falando numa coleção. Já li muitos topicos colocando o Vector como um tipo de coleção ultrapassado, que seria melhor usar o ArrayList. Mas como estou iniciando não vi ainda diferenças “bruscas” nos dois.
Poderia citar algumas ?

Você deve usar herança somente se a classe filha for uma especialização da classe mãe. O que obviamente não é o caso.

Sugiro que você leia sobre as relações IS-A e HAS-A.

Vector é uma classe que já existe desde a versão 1.1 do Java, e é mantida na API das novas versões pura e simplesmente por retrocompatibilidade.

De um modo simples, ArrayList e Vector são classes equivalentes, exceto pelo fato de que Vector possui todos os seus método sincronizados.

Veja isso.