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:

5 respostas
  1. Daniel
    Daniel says:

    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.

    Responder
  2. Christiano Coutinho
    Christiano Coutinho says:

    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.

    Responder

Deixe uma resposta

Want to join the discussion?
Feel free to contribute!

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *


Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.