Programowanie obiektowe najlepiej odzwierciedla dzianinie świata, które składa się z obiektów mających w sobie inne obiekty lub wchodzących w interakcje z innymi obiektami. Obiekty maja pewne dane, własności (pola) i możliwości (metody).
Każdy element okienka jest traktowany jako osobny obiekt, który działa niezależnie od innych. Dzięki można tworzyć dowolne okienka za pomocą dostępnych obiektów bez potrzeby implementacji zachowania całego okna (każdy element działa autonomicznie).
Dzięki możliwości tworzenia metod bez podawania ich dokładnej postaci, można ” ‘zlecać” ’ implementację tych metod w późniejszym etapie.
Najważniejszym etapem, który ma bezpośredni wpływ na poprawne i zgodne z założeniem działanie całego programu jest etap projektowania. Przed rozpoczęciem etapu implementacji programu, należy najpierw stworzyć jego dokładny plan zawierający strukturę klas, ich zachowania i powiązania między nimi. Na jego podstawie krok po kroku będzie można stworzyć spójny, działający program. Łatwo można zauważyć, że w programowaniu obiektowym etap implementacji, jest wyłącznie etapem zamiany schematu na kod programu. Poprawność działania zależy od etapu rozpoznania i projektowanie. Pierwszym etapem jest poznanie założeń dotyczących programu (najczęściej rozmowa z klientem), w kolejnych etapach należy zapisać problem w postaci wyspecyfikowanie klas, wypisanie ich zachowań, uwzględnić dziedziczenie oraz wzajemne zależności. Ostatnim etapem jest złożenie modelu w sekwencje, która umożliwi zrealizowanie powierzonego mu zadania. Zlekceważenie tego etapu może spowodować, że wykonanie projektu odbiega od tego co było założone przy specyfikacji początkowej. Przykładem błędów na etapie projektowania jest problem zamówienia huśtawki Rys 1.
2