Partilhar via


One-Stage e Two-Stage Construção de Objetos

Você pode escolher entre duas técnicas para criar objetos gráficos, como canetas e pincéis:

  • Construção em um estágio: construa e inicialize o objeto em um estágio, tudo com o construtor.

  • Construção em dois estágios: Construa e inicialize o objeto em dois estágios separados. O construtor cria o objeto e uma função de inicialização o inicializa.

A construção em duas fases é sempre mais segura. Na construção de etapa única, o construtor pode lançar uma exceção no caso de fornecer argumentos incorretos ou a alocação de memória falhar. Esse problema é evitado pela construção em dois estágios, embora você tenha que verificar se há falhas. Em ambos os casos, destruir o objeto é o mesmo processo.

Observação

Estas técnicas aplicam-se à criação de quaisquer objetos, não apenas objetos gráficos.

Exemplo de ambas as técnicas de construção

O breve exemplo a seguir mostra os dois métodos de criação de um objeto de caneta.

// One-stage
CPen myPen1(PS_DOT, 5, RGB(0, 0, 0));

// Two-stage: first construct the pen
CPen myPen2;
// Then initialize it
if (myPen2.CreatePen(PS_DOT, 5, RGB(0, 0, 0)))
{
   // Use the pen
}

O que você quer saber mais sobre

Ver também

Objetos gráficos