Udostępnij za pośrednictwem


Jedno- i dwuetapowa konstrukcja obiektów

Istnieje możliwość wyboru między dwiema technikami tworzenia obiektów graficznych, takich jak długopisy i pędzle:

  • Konstrukcja jednoetapowa: konstruowanie i inicjowanie obiektu na jednym etapie, wszystkie z konstruktorem.

  • Konstrukcja dwuetapowa: Konstruowanie i inicjowanie obiektu w dwóch oddzielnych etapach. Konstruktor tworzy obiekt i inicjuje funkcję inicjowania.

Dwuetapowa budowa jest zawsze bezpieczniejsza. W jednoetapowej konstrukcji konstruktor może zgłosić wyjątek, jeśli podasz nieprawidłowe argumenty lub alokacja pamięci zakończy się niepowodzeniem. Ten problem jest unikany przez dwuetapową konstrukcję, chociaż trzeba sprawdzić awarię. W obu przypadkach zniszczenie obiektu jest tym samym procesem.

Uwaga

Te techniki mają zastosowanie do tworzenia obiektów, a nie tylko obiektów graficznych.

Przykład obu technik budowy

Poniższy krótki przykład przedstawia obie metody konstruowania obiektu pióra:

// 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
}

Co chcesz dowiedzieć się więcej o

Zobacz też

Obiekty graficzne