Dúvida com herança - Como chamar outras classes

7 respostas
G

Pessoal,

Sou iniciante em Java e gostaria da ajuda de vocês!!!
Estou fazendo um código no qual tenho que cadastrar um livro. Tenho as seguintes classes: Endereço, Fone, Cadastro, Editora (herda Cadastro), Autor (herda Cadastro), Obra, Livro (herda Obra).

A minha principal dúvida é na hora de cadastrar os dados da Editora, pois não sei como fazer a chamada dos dados contidos na classes Cadastro (Nome, Endereço e Fone). Abaixo seguem partes dos códigos:

public class Cadastro {
	
	private String nome;
	private Endereco endereco;
	private Fone fone;
               
// e os devidos getters e setters
}
public class Endereco {
	
	private int categoria;
	private String rua;
	private String bairro;
	private String cidade;
	private String estado;
// e os devidos getters e setters
}
public class Fone {
	
	private int tipo;
	private int numero;
// e os devidos getters e setters
}

Para o nome utilizei o seguinte na main e deu certo:

editora.setNome(JOptionPane.showInputDialog("Informe o nome da Editora: "));

O problema está para chamar endereço e telefones.

Se puderem ajudar agradeço!!!

7 Respostas

thegoergen

Acho que você tem que criar uma tela para cadastro de endereço.
Daí você faz como para o nome, mas ao invés de usar o JOptionPane, usa a sua tela…

G

Apenas complementando…a classe editora está assim:

public class Editora extends Cadastro{
	
	private String cnpj;
	private String inscricao_estadual;

//mais getters e setters
}

Tentei chamar o endereço através da editora, mas me retorna um valor null.

editora.getEndereco().setRua(JOptionPane.showInputDialog("Informe a Rua: "));
hudson.negao

tenta fazer algo assim
Endereco e = new Endereco();

e.setRua(JOptionPane.showInputDialog("Informe a Rua: "));//falto um parenteses

editora.setEndereco(e);

G

Hudson…valeu…funcionou.

G

Desculpe o amadorismo…mas como faço para mostrar…

Para os dados específicos de editora e autor Ok, pois usei assim:

JOptionPane.showMessageDialog(null, "O assunto é: "+ book.getAssunto());

Mas como faço para mostrar o endereço, já que a classe é a mesma para os dois?
usei assim, mas armazena somento o último informado:

JOptionPane.showMessageDialog(null, "A rua da Editora é: "+ endereco.getRua());
JOptionPane.showMessageDialog(null, "A rua do Autor é: "+ endereco.getRua());
hudson.negao

[code]
JOptionPane.showMessageDialog(null, "A rua da Editora é: "+ editora.getEndereco().getRua());

G

O problema que to enfrentando agora é que cadastro todos os dados para a Editora e para o autor…

Mas na hora que vou mostrar não consigo mostrar os dois endereços, me mostra sempre o último informado, neste caso do autor…

Armazenando

endereco.setRua(JOptionPane.showInputDialog("Informe a rua da Editora: "));
editora.setEndereco(endereco);

endereco.setRua(JOptionPane.showInputDialog("Informe a rua do Autor: "));
autor.setEndereco(endereco);

Mostrando

JOptionPane.showMessageDialog(null, "A rua da Editora é: "+ editora.getEndereco().getRua()); 

JOptionPane.showMessageDialog(null, "A rua do Autor é: "+ autor.getEndereco().getRua());
Criado 7 de abril de 2008
Ultima resposta 9 de abr. de 2008
Respostas 7
Participantes 3