Programowanie obiektowe jest techniką programowania, w której programy definiuje się za pomocą obiektów — elementów łączących stan (dane, nazywane polami) i zachowanie (funkcje nazywane metodami). Obiektowy program komputerowy wyrażony jest jako zbiór takich obiektów, komunikujących się pomiędzy sobą w celu wykonywania zadań.
Każdy obiekt opisany jest przez:
- tożsamość - unikalna nazwa jednoznacznie identyfikująca obiekt w programie;
- stan - dane obiektu zapisane w jego składnikach;
- zachowania - operacje, które mogą być wykonane na obiekcie, określane przez funkcje składowe.
Obiekt musi zawsze należeć do zdefiniowanej klasy.
Klasa to typ obiektowy. Definicja klasy ma następującą postać:
class nazwa_klasy: tryb_dziedziczenia klasa_bazowa
{
lista deklaracji pól;
lista deklaracji metod
};
Pola (czyli dane składowe) to zmienne zdefiniowane wewnątrz klasy, natomiast metody (czyli funkcje składowe) to funkcje zadeklarowane w klasie.
Klasa jest typem obiektu, a nie obiektem.
Specyfikatory dostępu do składowych klasy:
public,
protected,
private.
Konstruktor jest specjalną metodą, uruchamianą automatycznie przy tworzeniu obiektu danej klasy. Zadaniem konstruktora jest zainicjowanie pól obiektu danej klasy, czyli przypisanie im wartości początkowych, przydzielenie pamięci czy wykonanie innych czynności niezbędnych do prawidłowego utworzenia obiektu. Nazwa konstruktora musi być taka sama jak nazwa zawierającej go klasy. Funkcja konstruktora nie ma określonego zwracanego typu, nie można więc przypisywać jej żadnej wartości