Selecao DevMedia QUERO SER PRIME

Fórum Herança e OOP em quais processos? #374550

03/09/2009

0

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

Responder

Posts

03/09/2009

Alanporto

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.


Responder

Gostei + 0

03/09/2009

Adriherbal

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?


Responder

Gostei + 0

03/09/2009

Alanporto

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.


Responder

Gostei + 0

03/09/2009

Adriherbal

Como seria a implementação dessa classe TNotaEntrada, tem um exemplo um pouco mais abrangente?
Desde já obrigado a todos que contribuiram.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar