Dicas para a Certificação Delphi Developer #2
Vamos agora a segunda dica para a Certificação Delphi Developer que é sobre constructor.
Todo desenvolvedor Delphi deveria saber que toda class teem um método construtor (Constructor), o qual é used para criar objects. A documentação do RAD Studio descreve Constructor assim:
A constructor is a special method that creates and initializes instance objects. The declaration of a constructor looks like a procedure declaration, but it begins with the word constructor.
A convenção do Delphi nomeia o construtor como Create por padrão, uma classe pode ter mais de um construtor, mas na maioria das vezes vemos apenas um. Assim sendo está claro que a palavra chave constructor define o construtor, assim sendo você pode nomeá-lo como quiser. Existem várias situações onde será necessário o uso de mais de um construtor, e usar múltiplos nomes ajuda a ter um código mais legível e fácil de manter. O exemplo abaixo tem 7 construtores usando três nomes diferentes: Create, New e Update:
TMyClass = class public name : string; constructor Create; overload; // Este constructor é o default constructor Create(name : string); overload; constructor Create(name : string; age : Integer); overload; constructor New(name : string);overload; constructor New(name : string; age : Integer);overload; constructor Update(name : string);overload; constructor Update(name : string; age : Integer);overload;
end;
A class TMyClass pode ser instanciada através de um dos construtores abaixo: TMyClass.Create; TMyClass.Create('Mike'); TMyClass.Create('Mike', 50); TMyClass.New('Mike'); TMyClass.New('Mike', 50); TMyClass.Update('Mike'); TMyClass.Update('Mike', 30);
Há mais que aprender sobre construtores, para começar sugiro os seguintes links:
Bacana.
Ótimo, com o exemplo ficou melhor para testar e entender na prática.
Estou me preparando para a certificação e está sendo de grande ajuda as dicas deste site!
Tks
Gostei da dica, não sabia que poderia criar vários construtores, para quem vem de outras linguagens como C++ e PHP esse é um difererncial.
Andreano, continue com estas dicas, são muito úteis.
Dica interessante, principalmente para quem vai fazer a certificação. Mas esse lance de se utilizar construtores com nome fora do padrão da VCL (Create) não faz nada mais além de gerar uma confusão danada, além de dificultar o trabalho para rotinas genéricas.