Estou fazendo um programa de locadora com jframes, e estou com problemas para herdar da classe mãe na hora do cadastro do filme, que no caso eu fiz uma classe clientes que é a mãe e uma classe filme q é a filha.
Preciso cadastrar os filmes mas o que herda da classe mãe não entra nesse caso…
Estão na mesma ordem da classe filha.
Classe mãe (eu n sei se posso usar arraylist aqui, mas foi o unico jeito pra compilar o cadastro e clientes
Tem certeza que tem que usar Herança nesse problema? Pelo que entendi, não é necessário a herança nesse problema pois, não ha relação de herança entre filme e cliente, a unica relação que há é dos filmes que o cliente ira locar, mas ai nao tem nda a ver com Herança, vc deve colocar um atributo na classe Cliente do tipo filmes, uma lista Ex:
private ArrayList <Filmes> filmes;
Isso vai dar um monte de NullPointerException. Suponha que não se digitou nada no campo cod(JTextField1)? o getText estará vazio. Acho muito desnecessario você criar tantos parametros no construtor, eles não precisam ser inicializados imediatamente. Use para as classes Clientes e Filmes atributos e metodos gets e sets. E você não precisa usar herança. Use ao inves disso, agregação. Onde Cliente POSSUI um filme.
Na classe void main ficaria assim:
Filme filme = new Filmes();
Clientes clientes = new Clientes(filme);
Assim, voce poderár usar os metodos da classe Filme atraves do objeto clientes.
clientes.setCodigo(3);
Além do que foi dito pelo colegas eu recomendo que você leia algum artigo sobre princípios de design OO como baixo-acoplamento, alta coesão, responsabilidade única, etc. Você pode até fazer este código funcionar mas ele é bem ineficiente e bastante frágil a mudanças ou dados incorretos.
Voce tambem esta usando muitos parametros no construtor, não seria melhor passa-los por um set, ou usar o padrão Builder, ja no caso da herança não faz sentido clientes herdarem Filmes pois, um Filme não é um Cliente, como muito bem citado pelos colegas acima. Crie uma classe por exemplo, gerenteClientes, que contenha uma lista dos clientes e em cada cliente coloque uma lista de filmes locados, o gerente, ele deve colocar os filmes locados nos devidos clientes e retirar quando eles devolverem, assim você já quebra muito desse alto acoplamento.