Herdar um form e mostrar função declarada

Delphi

13/01/2006

herdei um form de um form padrão, que tem uma determinada função que criei no form padrão.
sendo que ao herdar do form gostaria que esta função tb aparecesse declarada no form herdado.
para ficar mais fácil a identificação que tem aquela determinada função que vou precisar implementar em cada form.


Raserafim

Raserafim

Curtidas 0

Respostas

Bruno Belchior

Bruno Belchior

13/01/2006

Você quer que ela apareca apenas pra efeito de visualização? Se sim, pode usar o [b:2a1f64760d]Code Completion[/b:2a1f64760d] (alt + Espaço) que a função aparecerá... Umas das idéias principais da orientação a objetos é a organização e reutilização de código, se você quer ter o mesmo código em todas as classes, não vejo motivo de criar uma herança...


GOSTEI 0
Bruno Belchior

Bruno Belchior

13/01/2006

Você quer que ela apareca apenas pra efeito de visualização? Se sim, pode usar o [b:79c2014671]Code Completion[/b:79c2014671] (alt + Espaço) que a função aparecerá... Umas das idéias principais da orientação a objetos é a organização e reutilização de código, se você quer ter o mesmo código em todas as classes, não vejo motivo de criar uma herança...


GOSTEI 0
Bruno Belchior

Bruno Belchior

13/01/2006

Algum moderador por favor exclua uma das mensagens ok... :lol:


GOSTEI 0
Renatacoimbra

Renatacoimbra

13/01/2006

oi raserafim

Tem outra alternativa, se vc quer só declarar o método no ancestral e implementar nos descedentes, na OO tem a palavra reservada [b:a845683ff2]Abstract[/b:a845683ff2] e [b:a845683ff2]Virtual[/b:a845683ff2]

vc declara os métodos no ancestral assim:
Procedure MeuMetodo; Virtual; Abstract;


[b:a845683ff2]Virtual[/b:a845683ff2] quer dizer q vc pode substituir o método em classes descendentes, usando a palavra servada Override;

[b:a845683ff2]Abstract[/b:a845683ff2] quer dizer q o método será só declarado na classe, e será implementado em classes descendentes.


GOSTEI 0
Michael

Michael

13/01/2006

Se vc quiser quem um determinado método seja obrigatoriamente implementando nas classes descendentes, marque-o com a diretiva [b:741b7f7cee]abstract[/b:741b7f7cee], e eventualmente, com [b:741b7f7cee]virtual [/b:741b7f7cee]tbm. Desta forma o compilador irá ´lembrar´ vc que o código deve ser escrito, usando [b:741b7f7cee]override[/b:741b7f7cee].

Não faz sentido ter em uma classe descendente de outra todas as funções herdadas publicadas novamente. Ao se fazer isso manualmente (pois o Delphi não o fará), se está ocultando os métodos da classe-pai.

Sugiro uma leitura de algum tutorial ou artigo sobre OO. [url=www.delphibasics.co.uk]Neste site[/url] vc deve achar algo. ;-)

[]´s


GOSTEI 0
Michael

Michael

13/01/2006

Foi mais rápida que eu, hein [b:e12908e6fa]Renata[/b:e12908e6fa]... :lol:

[]´s


GOSTEI 0
Renatacoimbra

Renatacoimbra

13/01/2006

Pois é [b:4cd193517c]Michael[/b:4cd193517c] :lol:

Mais a sua explicação ficou melhor.


GOSTEI 0
Raserafim

Raserafim

13/01/2006

queria que a declaração fosse redeclarada no herdado justamente para não esquecer.

mas com essa dica do Abstract e do Virtual acho q vai resolver o meu problema.
valeu Renata e Michael


GOSTEI 0
POSTAR