Herança e OOP em quais processos?

Delphi

03/09/2009

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?


Adriherbal

Adriherbal

Curtidas 0

Respostas

Alanporto

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.


GOSTEI 0
Adriherbal

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?


GOSTEI 0
Alanporto

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.

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

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.


GOSTEI 0
POSTAR