Olá, Blackfalcon!
Então, eu criei um objeto gerente! alias eu tenho três tipos de empregados!
-gerente
-secretaria
-programador
Estou armazenando o objeto dentro do array" empregados", mas minha duvida e de como posso listar no final do programa todos os empregados!
E como eu posso chamar os metodos da sub-classe.
Para facilitar o entendimento vou postar o parte do codigo:
import javax.swing.JOptionPane;
public class ControleFuncionarios {
public static void main(String[] args) {
int com = 0;
int continua = 0;
int contador = 0;
int tipo=0;
int lingua = 0;
String situacao;
String atribuir;
int numGerentes=0, numSecret=0, numProgram=0;
Empregado[] empregados = new Empregado[100];
String[] tipoFunc = {"GERENTE", "SECRETARIA", "PROGRAMADOR"};
String[] fluencia = {"Ingles", "Italiano", "Espanhol"};
do {
situacao = " Existem " + contador + " Empregados cadastrados de um total de " + empregados.length +
"\n sao:\n" +
numGerentes + " Gerentes\n" +
numSecret + " Secretarias\n" +
numProgram + " Programadores\n" +
"\n Deseja cadastrar um novo empregado? ";
continua = JOptionPane.showConfirmDialog(null, situacao );
if (continua == 0) {
tipo = JOptionPane.showOptionDialog(null, " O novo funcionario e um? ", " Cadastro ", JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE, null, tipoFunc, "GERENTE");
if(tipo == 0) {
// informou que é GERENTE
Gerente gerente = new Gerente();
String nome = JOptionPane.showInputDialog(" Informe o nome do novo gerente ");
gerente.setNome(nome);
String sobrenome = JOptionPane.showInputDialog(" Informe o seu sobrenome " );
gerente.setSobreNome(sobrenome);
String ano = JOptionPane.showInputDialog("Informe o ano de adimissao " + gerente.getNome());
int a = Integer.parseInt(ano);
String mes = JOptionPane.showInputDialog("Informe o mes de adimissao " + gerente.getNome());
int m = Integer.parseInt(mes);
String dia = JOptionPane.showInputDialog("Informe o dia de adimissao " + gerente.getNome());
int d = Integer.parseInt(dia);
gerente.setDataAdmissao(a, m, d);
String tel = JOptionPane.showInputDialog("Informe o telefone de " + gerente.getNome());
gerente.setTelefone(tel);
String cpf = JOptionPane.showInputDialog("Informe o cpf de " + gerente.getNome());
gerente.setCpf(cpf);
empregados[contador] = gerente;
numGerentes++;
atribuir = " Deseja atribuir comissao ao gerente " + gerente.getNome() + "?";
com = JOptionPane.showConfirmDialog(null, atribuir );
if(com == 0){
String comissao = JOptionPane.showInputDialog(" Qual o valor da comissao para " + gerente.getNome());
double s = Double.parseDouble(comissao);
gerente.setComissao(s);
}
} else if(tipo == 1) {
// informou que é SECRETARIA
Secretaria secretaria = new Secretaria();
String nome = JOptionPane.showInputDialog(" Informe o nome da nova secretaria ");
secretaria.setNome(nome);
String sobrenome = JOptionPane.showInputDialog(" Informe o seu sobrenome " );
secretaria.setSobreNome(sobrenome);
// Continua assim por diante
[code]
classe “empregado”:
import java.util.Date;
import java.util.GregorianCalendar;
public class Empregado {
private String nome;
private String sobrenome;
private double salario;
private Date dataAdmissao;
private String telefone;
private String cpf;
public void setNome(String nome){
this.nome = nome;
}
public void setSobreNome(String sobrenome){
this.sobrenome = sobrenome;
}
public void setSalario(double salario) {
this.salario = salario;
}
public void setDataAdmissao( int ano, int mes, int dia) {
GregorianCalendar calendario = new GregorianCalendar(ano, mes-1, dia);
dataAdmissao = calendario.getTime();
}
public void setTelefone(String telefone) {
this.telefone = telefone;
}
public void setCpf(String cpf) {
this.cpf = cpf;
}
public String getNome(){
return nome;
}
public String getSobreNome(){
return sobrenome;
}
public double getSalario(){
return salario;
}
public Date getDataAdmissao(){
return dataAdmissao;
}
public String getTelefone(){
return telefone;
}
public String getcpf(){
return cpf;
}
[/code]
Não sei se fui muito objetivo, peço desculpas.
E agradeço a ajuda!
Abraçoss.