Herdar um form e mostrar função declarada
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.
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
Curtidas 0
Respostas
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
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
13/01/2006
Algum moderador por favor exclua uma das mensagens ok... :lol:
GOSTEI 0
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:
[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.
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
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
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
13/01/2006
Foi mais rápida que eu, hein [b:e12908e6fa]Renata[/b:e12908e6fa]... :lol:
[]´s
[]´s
GOSTEI 0
Renatacoimbra
13/01/2006
Pois é [b:4cd193517c]Michael[/b:4cd193517c] :lol:
Mais a sua explicação ficou melhor.
Mais a sua explicação ficou melhor.
GOSTEI 0
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
mas com essa dica do Abstract e do Virtual acho q vai resolver o meu problema.
valeu Renata e Michael
GOSTEI 0