Herança e OOP em quais processos?
Bom dia a todos,
No meu projeto tenho um form Cadastro(Padrão) e todos os cadastros usam este form de herança. Minha dúvida é o seguinte, para processos como Nota de Entrada ou Saída é aconselhavel ou não, usar este form Padrão de herança?
No meu projeto tenho um form Cadastro(Padrão) e todos os cadastros usam este form de herança. Minha dúvida é o seguinte, para processos como Nota de Entrada ou Saída é aconselhavel ou não, usar este form Padrão de herança?
Adriherbal
Curtidas 0
Respostas
Alanporto
03/09/2009
tudo vai depender do que exatamente esses formulários herdarão do pai.
Se, por exemplo, no pai existirem condições específicas de Entrada, que não podem existir na Saída, podem até ser retiradas da saída, mas não haverá vantagem em utilizar herança.
Nesse caso, tente deixar o pai o mais genérico possível, ou crie meios do formulário herdar somente o necessário.
Se, por exemplo, no pai existirem condições específicas de Entrada, que não podem existir na Saída, podem até ser retiradas da saída, mas não haverá vantagem em utilizar herança.
Nesse caso, tente deixar o pai o mais genérico possível, ou crie meios do formulário herdar somente o necessário.
GOSTEI 0
Adriherbal
03/09/2009
No caso citado, o form básico é preparado com funções de cadastro, botões Incluir, excluir , salvar, pesquisa, etc. e os enventos destes botões estão todos no básico. Salvo algumas exceções não fica nada (nenhum codigo adicional) no novo form herdado, mas visto que por exemplo numa tela de Nota de Entrada, há mais funções a implementar que num cadastro básico, por isso a minha dúvida.
No meu entendimento ficaria mais fácil de fazer manutenção e implementação de novas regras numa tela de Nota de Entrada (exemplo) se o processo fosse independente. Como vcs tem feito?
No meu entendimento ficaria mais fácil de fazer manutenção e implementação de novas regras numa tela de Nota de Entrada (exemplo) se o processo fosse independente. Como vcs tem feito?
GOSTEI 0
Alanporto
03/09/2009
No meu caso, os formulários herdam características comuns do pai e as características específicas são implementadas no filho.
Exemplo: se na Entrada há código específico após a Inclusão.
ou pode ser criada classes para os filhos (por exemplo: TNotaEntrada), onde ficariam as funções características da entrada.
Exemplo: se na Entrada há código específico após a Inclusão.
procedure TForm1.Incluir(Sender: TObject); begin inherited; //vai executar o código do Incluir do pai //código específico de inclusão de entrada. end;
ou pode ser criada classes para os filhos (por exemplo: TNotaEntrada), onde ficariam as funções características da entrada.
GOSTEI 0
Adriherbal
03/09/2009
Como seria a implementação dessa classe TNotaEntrada, tem um exemplo um pouco mais abrangente?
Desde já obrigado a todos que contribuiram.
Desde já obrigado a todos que contribuiram.
GOSTEI 0