estou estudando sozinho e preciso de um exemplo de programa simples com tres classes que contenha herança, para eu poder visualizar, alguem tem alguma coisa pronta?
obrigado
estou estudando sozinho e preciso de um exemplo de programa simples com tres classes que contenha herança, para eu poder visualizar, alguem tem alguma coisa pronta?
obrigado
Exercicio da minha faculdade:
Classe Pessoa
import javax.swing.JOptionPane;
class Pessoa {
protected String Nome;
protected int Idade;
protected float Peso;
public Pessoa(){
setNome("");
setIdade(0);
setPeso(0);
}
public void setNome(String _Nome) { Nome=_Nome; }
public void setIdade(int _Idade) { Idade=_Idade; }
public void setPeso(float _Peso) { Peso=_Peso; }
public String getNome() { return Nome; }
public int getIdade() { return Idade; }
public float getPeso() { return Peso; }
public void Leia(){
setNome(JOptionPane.showInputDialog("Nome?"));
setIdade(Integer.parseInt(JOptionPane.showInputDialog("Idade?")));
setPeso(Float.parseFloat(JOptionPane.showInputDialog("Peso?")));
}
public void Escreva(){
JOptionPane.showMessageDialog(null, "Nome: " + getNome() + "/n"+"Idade: " + getIdade() +"/n"+"Peso: " + getPeso() );
}
}
Classe PessoaF (pessoa sexo feminino)
import javax.swing.JOptionPane;
class PessoaF extends Pessoa {
private char Gravidez;
public PessoaF(){
super();
setGravidez(' ');
}
public void setGravidez(char Gra) { Gravidez=Gra; }
public char getGravidez() { return Gravidez; }
public void Leia(){
super.Leia();
setGravidez(JOptionPane.showInputDialog("Gravidez S-sim N-não").charAt(0));
}
public void Escreva(){
super.Escreva();
JOptionPane.showMessageDialog(null, "Gradidez: " + getGravidez());
}
}
PessoaM (sexo masculino)
import javax.swing.JOptionPane;
class PessoaM extends Pessoa {
private char ServicoMil;
public PessoaM(){
super();
setServicoMil(' ');
}
public void setServicoMil(char Mil) { ServicoMil=Mil; }
public char getServicoMil() { return ServicoMil; }
public void Leia(){
super.Leia();
setServicoMil(JOptionPane.showInputDialog("Serviço militar S-sim N-não").charAt(0));
}
public void Escreva(){
super.Leia();
JOptionPane.showMessageDialog(null, "Serviço militar: " + getServicoMil());
}
}
Os metodos (mão fazem uso de herença)
import javax.swing.JOptionPane;
class UsaPessoa {
private int ContM;
private int ContF;
private final int Limite=10;
private int Tipo;
private PessoaM Mas[] = new PessoaM[Limite];
private PessoaF Fem[] = new PessoaF[Limite];
public UsaPessoa(){
setContM(0);
setContF(0);
}
//modificadores
public void setContM(int _ContM){ ContM = _ContM; }
public void setContF(int _ContF){ ContF = _ContF; }
//recuperadores
public int getContM(){ return ContM; }
public int getContF(){ return ContF; }
public int getLimite(){ return Limite; }
public void Cadastro(int Tipo){
if (Tipo==1){
if (getContM()<getLimite()){
Mas[getContM()] = new PessoaM();
Mas[getContM()].Leia();
setContM(getContM()+1);
}
else
JOptionPane.showMessageDialog(null, "Vetor Lotado");
}
else
if (getContF()<getLimite()){
Fem[getContF()] = new PessoaF();
Fem[getContF()].Leia();
setContF(getContF()+1);
}
else
JOptionPane.showMessageDialog(null, "Vetor Lotado");
}
public void MaisIdosa() {
int aux=0;
int pos=0;
for (int i=0; i<getContF(); i++){
if (Fem[i].getIdade()>aux)
aux=Fem[i].getIdade();
pos=i;
}
JOptionPane.showMessageDialog(null, "Mulher mais idosa: " + Fem[pos].getNome() );
}
public void HomensMil(){
int x=0;
for (int i=0; i<getContM(); i++){
if (Mas[i].getServicoMil()=='S' || Mas[i].getServicoMil()=='s')
x=x+1;
}
JOptionPane.showMessageDialog(null, "Dos homens "+x+" fizeram serviço militar");
}
public void ListaGravidas(){
for (int i=0; i<getContF(); i++){
if (Fem[i].getGravidez()=='S' || Fem[i].getGravidez()=='s'){
JOptionPane.showMessageDialog(null, "A gravida: " + Fem[i].getNome() );
}
else
JOptionPane.showMessageDialog(null, "nenhuma gravida");
}
}
public void RetornaSexo(String _Nome){
int i=0;
int Max = ((getContM() > getContF())? getContM():getContF());
for (i=0; i<Max; i++){
if ((i < getContM()) && (Mas[i].getNome().equalsIgnoreCase(_Nome))){
JOptionPane.showMessageDialog(null,"Masculino");
i = 998;
}
else
if ((i < getContF()) && (Fem[i].getNome().equalsIgnoreCase(_Nome))){
JOptionPane.showMessageDialog(null,"Feminino");
i = 998;
}
}
if( i != 999){
JOptionPane.showMessageDialog(null,"Não EXISTE!");
}
}
public void MaisPesado() {
float aux=0;
int pos=0;
for (int i=0; i<getContM(); i++){
if (Mas[i].getPeso()>aux)
aux=Mas[i].getPeso();
pos=i;
}
JOptionPane.showMessageDialog(null, "Mulher mais idosa: " + Mas[pos].getNome() );
}
public void Menu(){
int op=0;
String _Nome="";
int tipo=0;
do{
op=Integer.parseInt(JOptionPane.showInputDialog("Digite: \n 1-para Cadastro \n 2-Numero de homens que serviram \n" +
"3-Listar mulheres gravidas \n 4-Recebe nome como paramentro retorna sexo \n"+
"5-Mostra nome do homem mais pesado \n 6 Mais idosa \n 7 sair"));
switch(op){
case 1:Tipo=Integer.parseInt(JOptionPane.showInputDialog("Digite 1 para Homem 2 para Mulher"));
Cadastro(Tipo);
break;
case 2:HomensMil();
break;
case 3:ListaGravidas();
break;
case 4:_Nome=JOptionPane.showInputDialog("Digite o nome");
RetornaSexo(_Nome);
break;
case 5:MaisPesado();
break;
case 6:MaisIdosa();
break;
}
}while(op!=7);
System.exit(0);
}
}
Main:
class UsarPessoa{
public static void main (String args[]){
UsaPessoa P=new UsaPessoa();
P.Menu();
}
}
Espero ter ajudado…
Vê se isso te ajuda:
[code]public class Pessoa
{
private String nome;
private String email;
private String dataNascimento;
protected String getDataNascimento()
{
return dataNascimento;
}
protected void setDataNascimento(String dataNascimento)
{
this.dataNascimento = dataNascimento;
}
protected String getEmail()
{
return email;
}
protected void setEmail(String email)
{
this.email = email;
}
protected String getNome()
{
return nome;
}
protected void setNome(String nome)
{
this.nome = nome;
}
}[/code]
[code]public class PessoaFisica extends Pessoa
{
private String cpf;
private String rg;
public String getCpf()
{
return cpf;
}
public void setCpf(String cpf)
{
this.cpf = cpf;
}
public String getRg()
{
return rg;
}
public void setRg(String rg)
{
this.rg = rg;
}
public String toString()
{
return "Nome: " + super.getNome() + "\nEmail: " + super.getEmail() +
"\nData de Nascimento: " + super.getDataNascimento() + "\nCPF: " +
getCpf() + "\nRG: " + getRg();
}
}[/code]
[code]public class PessoaJuridica extends Pessoa
{
private String cnpj;
private String inscricaoEstadual;
public String getCnpj()
{
return cnpj;
}
public void setCnpj(String cnpj)
{
this.cnpj = cnpj;
}
public String getInscricaoEstadual()
{
return inscricaoEstadual;
}
public void setInscricaoEstadual(String inscricaoEstadual)
{
this.inscricaoEstadual = inscricaoEstadual;
}
public String toString()
{
return "Nome: " + super.getNome() + "\nEmail: " + super.getEmail() +
"\nData de Nascimento: " + super.getDataNascimento() + "\nCNPJ: " +
getCnpj() + "\nInscricao Estadual: " + getInscricaoEstadual();
}
}[/code]
[code]public class Usuario extends PessoaFisica
{
private String login;
private String senha;
public String getLogin()
{
return login;
}
public void setLogin(String login)
{
this.login = login;
}
public String toString()
{
return "Nome: " + super.getNome() + "\nEmail: " + super.getEmail() +
"\nData de Nascimento: " + super.getDataNascimento() + "\nCPF: " +
getCpf() + "\nRG: " + getRg() + "\nLogin: " + getLogin();
}
}[/code]
[code]public class TesteHeranca
{
Pessoa pessoa;
public TesteHeranca()
{
PessoaFisica pessoaFisica = new PessoaFisica();
//Métodos da superclasse
pessoaFisica.setNome("Pessoa Fisica");
pessoaFisica.setEmail("pessoa@fisica.com");
pessoaFisica.setDataNascimento("22/02/1980");
//----------------------------------------//
pessoaFisica.setCpf("999.999.999-99");
pessoaFisica.setRg("9999999");
PessoaJuridica pessoaJuridica = new PessoaJuridica();
//Métodos da superclasse
pessoaJuridica.setNome("Pessoa Juridica");
pessoaJuridica.setEmail("pessoa@juridica.com");
pessoaJuridica.setDataNascimento("15/06/1976");
//----------------------------------------//
pessoaJuridica.setCnpj("99.999.999/9999-99");
pessoaJuridica.setInscricaoEstadual("999.999.999.999");
Usuario usuario = new Usuario();
//Métodos da superclasse Pessoa
usuario.setNome("Usuario");
usuario.setEmail("pessoa@usuario.com");
usuario.setDataNascimento("09/12/1990");
//----------------------------------------//
//Métodos da superclasse PessoaFisica
usuario.setCpf("111.111.111-11");
usuario.setRg("1111111");
//----------------------------------------//
usuario.setLogin("Login");
pessoa = pessoaFisica;
System.out.println("Imprime os dados da PessoaFisica: ");
System.out.println(pessoa.toString());
System.out.println();
System.out.println("-----------------------------------------");
pessoa = pessoaJuridica;
System.out.println("Imprime os dados da PessoaJuridica: ");
System.out.println(pessoa.toString());
System.out.println();
System.out.println("-----------------------------------------");
pessoa = usuario;
System.out.println("Imprime os dados do Usuario: ");
System.out.println(pessoa.toString());
System.out.println();
System.out.println("-----------------------------------------");
}
public static void main(String[] args)
{
new TesteHeranca();
}
}[/code]
Valeu!!!