Re: [delphi-br] Reescrever o Constructor
2009/5/4 José Mário Silva Guedes : > Olá amigos. Apesar de eu concordar que a pergunta é estranha vou fazê-la > pois sempre tem algo que a gente não sabe e certeza absoluta é um troço > muito perigoso... > > Enfim. > > Preciso desenvolver a classe A descendente da classe B (que é descendente de > TObject). > > A classe B tem "tudo o que preciso" porém o que gostaria de mudar e adaptar > à minha necessidade está justamente no constructor dela. :O > > A pergunta é: > > Tem como, na classe A, fazer o constructor ignorar o constructor da classe > B, chamando diretamente o constructor de TObject? Você não pode ignorar apenas um método de alguma superclasse, mas no seu caso pode ignorar todos já que TObject não implementa nada no construtor. Basta sobrescrever o construtor e não chamar o inherited. Agora, como disse alguns colegas, isto não é uma boa prática e pode te trazer problema. Joao Morais
Re: [delphi-br] Reescrever o Constructor
vc pode fazer um novo constructor com a diretiva reintroduce após sua declaração. Leslyn Fernandes 55-11-9159-3837 Computer Engineer Integra Solutions "Ecrasez L'Infame!" - Voltaire 2009/5/6 Vinicius A. Santos > > > Eu acho que vc está "pensando OOP" de uma maneira errada... > É inviável voltar ao lápis e papel ? > > José Mário Silva Guedes escreveu: > > > > > > Olá amigos. Apesar de eu concordar que a pergunta é estranha vou fazê-la > > pois sempre tem algo que a gente não sabe e certeza absoluta é um troço > > muito perigoso... > > > > Enfim. > > > > Preciso desenvolver a classe A descendente da classe B (que é > > descendente de > > TObject). > > > > A classe B tem "tudo o que preciso" porém o que gostaria de mudar e > > adaptar > > à minha necessidade está justamente no constructor dela. :O > > > > A pergunta é: > > > > Tem como, na classe A, fazer o constructor ignorar o constructor da > classe > > B, chamando diretamente o constructor de TObject? > > > > -- > > José Mário Silva Guedes > > Analista Programador Delphi > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > -- > Vinicius A. Santos > www.msisolucoes.com.br > > > [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] Reescrever o Constructor
Oi Vinicius. Não entendi sua colocação... [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] Reescrever o Constructor
Eu acho que vc está "pensando OOP" de uma maneira errada... É inviável voltar ao lápis e papel ? José Mário Silva Guedes escreveu: > > > Olá amigos. Apesar de eu concordar que a pergunta é estranha vou fazê-la > pois sempre tem algo que a gente não sabe e certeza absoluta é um troço > muito perigoso... > > Enfim. > > Preciso desenvolver a classe A descendente da classe B (que é > descendente de > TObject). > > A classe B tem "tudo o que preciso" porém o que gostaria de mudar e > adaptar > à minha necessidade está justamente no constructor dela. :O > > A pergunta é: > > Tem como, na classe A, fazer o constructor ignorar o constructor da classe > B, chamando diretamente o constructor de TObject? > > -- > José Mário Silva Guedes > Analista Programador Delphi > > [As partes desta mensagem que não continham texto foram removidas] > > -- Vinicius A. Santos www.msisolucoes.com.br
Re: [delphi-br] Reescrever o Constructor
Se, e sómente se a classe da qual vc quer derivar realmente for descendente de TObject, a chamada a este construtor pode ser ignorada. Se vc der uma olhada no fonte da VCL, vai ver que o método construtor dele está vazio. Fora deste caso, o Jackson está certo. Também tive esta necessidade para alterar o comportamento de um componente de terceitos e, apesar de pesquisar bastânte, tb não consegui. Abs Daniel Augusto Bastos 2009/5/4 José Mário Silva Guedes > Oi Jackson, era exatamente esta a minha intenção... Porém estou em um > cenário onde não posso modificar a TA pois é de terceiros... > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > -- > < FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM > > > > > [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] Reescrever o Constructor
Oi Jackson, era exatamente esta a minha intenção... Porém estou em um cenário onde não posso modificar a TA pois é de terceiros... [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] Reescrever o Constructor
> TObject não é uma classe abstrata? O que existem são métodos abstratos. > Tem como, na classe A, fazer o constructor ignorar o constructor da classe > B, chamando diretamente o constructor de TObject? O que vc quer é pular um constructor da sua classe mãe? Acredito que não há como fazer isso. O que vc poderia fazer nesse caso é ter um método virtual em A, que seria re-rescrito em B, sendo que o mesmo método pode ser chamado no construtor de A. Ao sobreescreve-lo em B, o mesmo passaria a ser chamado, ao invés do método de A. type TA = class protected procedure Init; virtual; public constructor Create... end. TB = class(TA) protected procedure Init; virtual; override; end. Jackson Gomes Tools&Comps - Controle de Usuários para Desenvolvedores CodeGear Web Site: http://www.toolsandcomps.com Nosso Fórum: http://groups.yahoo.com/group/toolsandcomps e-mail: jack...@toolsandcomps.com Fone: 27 3389 1138 - 8811 0324 http://jacklovesdelphi.blogspot.com - Delphi, Intraweb, etc Devhost - Webhost para desenvolvedores Delphi http://www.devhost.com.br devh...@devhost.com.br
Re: [delphi-br] Reescrever o Constructor
Se eu entendi bem o que vc quer fazer, vc pode ter um construtor específico para a sua classe A. Mesmo que ele seja identico ao de TObject, se bem que é aqui que minha ignorância pode aflorar, portanto repondo com outra (ou a mesma) pergunta TObject não é uma classe abstrata? Acho que mais atrapalhei do que ajudei... []'s Ricardo. "Vamos ajudar o Grupo e o Yahoo! Apague o conteúdo irrelevante!" --- Em seg, 4/5/09, José Mário Silva Guedes escreveu: Olá amigos. Apesar de eu concordar que a pergunta é estranha vou fazê-la pois sempre tem algo que a gente não sabe e certeza absoluta é um troço muito perigoso... Enfim. Preciso desenvolver a classe A descendente da classe B (que é descendente de TObject). A classe B tem "tudo o que preciso" porém o que gostaria de mudar e adaptar à minha necessidade está justamente no constructor dela. :O A pergunta é: Tem como, na classe A, fazer o constructor ignorar o constructor da classe B, chamando diretamente o constructor de TObject? -- José Mário Silva Guedes Analista Programador Delphi Veja quais são os assuntos do momento no Yahoo! +Buscados http://br.maisbuscados.yahoo.com
[delphi-br] Reescrever o Constructor
Olá amigos. Apesar de eu concordar que a pergunta é estranha vou fazê-la pois sempre tem algo que a gente não sabe e certeza absoluta é um troço muito perigoso... Enfim. Preciso desenvolver a classe A descendente da classe B (que é descendente de TObject). A classe B tem "tudo o que preciso" porém o que gostaria de mudar e adaptar à minha necessidade está justamente no constructor dela. :O A pergunta é: Tem como, na classe A, fazer o constructor ignorar o constructor da classe B, chamando diretamente o constructor de TObject? -- José Mário Silva Guedes Analista Programador Delphi [As partes desta mensagem que não continham texto foram removidas]