Fórum Herdar um form e mostrar função declarada #308986

13/01/2006

0

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

Responder

Posts

13/01/2006

Bruno Belchior

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...


Responder

Gostei + 0

13/01/2006

Bruno Belchior

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...


Responder

Gostei + 0

13/01/2006

Bruno Belchior

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


Responder

Gostei + 0

13/01/2006

Renatacoimbra

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.


Responder

Gostei + 0

13/01/2006

Michael

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


Responder

Gostei + 0

13/01/2006

Michael

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

[]´s


Responder

Gostei + 0

13/01/2006

Renatacoimbra

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

Mais a sua explicação ficou melhor.


Responder

Gostei + 0

14/01/2006

Raserafim

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


Responder

Gostei + 0

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

Aceitar