Programowanie obiektowe

Programowanie obiektoweProgramowanie obiektowe to jedna z technik pisania programów. Opiera się na zarządzaniu obiektami posiadającymi strukturę o określonej budowie i funkcjonalności.

Strukturę taką nazywamy klasą. Klasa jest zbiorem danych oraz metod na nich operujących. Jedna klasa może rozszerzać strukturę innej klasy. Wówczas mamy do czynienia z dziedziczeniem. Nie wszystkie pola(dane) oraz metody klasy muszą być widoczne z zewnątrz. O tym czy tak jest decydują kwalifikatory dostępu. Kwalifikator 'private' sprawia że dana bądź metoda która została nim potraktowana jest widoczna tylko wewnątrz definicji danej klasy.

Oznaczenie "protected" rozszerza widoczność elementu klasy na definicje klas dziedziczących. Słowo "public" definiuje element publiczny. Jako element klasy rozumie się tutaj pole lub metodę. Jeżeli element jest publiczny, może być używany przez instancje klas (obiekty) poza jej definicją. Elementy publiczne stanowią interfejs klasy.

Programowanie obiektowe umożliwiają między innymi następujące języki: C++, Object Pascal, Java, Ruby, PHP5. Język C++ umożliwia stosowanie wielodziedziczenia, czyli definiowanie klas bazujących na więcej niż jednej klasie. W Javie taka operacja nie jest możliwa. Nowa klasa może dziedziczyć tylko po jednej klasie. Może za to implementować wiele interfejsów. Interfejs jest zbiorem deklaracji metod publicznych. Jeżeli klasa posiada przynajmniej jedną niezdefiniowaną deklarację metody wówczas staje się klasą abstrakcyjną.