OOP, czyli programowanie obiektowe — do czego jest ono wykorzystywane?


Programowanie obiektowe to jeden z najbardziej popularnych paradygmatów programowania, który odpowiada za odpowiednią organizację danego programu lub języka programowania. Opiera się na tworzeniu obiektów, zamiast stawiać tylko na funkcje i logikę, a potem mechanizmów, które pozwalają na komunikację pomiędzy obiektami. Na czym polega i gdzie jest wykorzystywane ten rodzaj programowania?
Programowanie obiektowe jako najpopularniejszy paradygmat programowania
Programowanie obiektowe zakłada stworzenie stanów, czyli obiektów, które poosiadają swoje dane oraz zachowań, czyli procesów lub metod. To, co odróżnia je od tradycyjnego proceduralnego programowania to fakt, że dane i procesy w programowaniu obiektowym nie tworzą ze sobą bezpośrednio tak ścisłego związku.
Podstawowymi pojęciami związanymi z programowaniem obiektowym są:
- Klasa, która stanowi częściowy lub całościowy opis budowy i działania obiektów.
- Obiekty, czyli fizyczne reprezentacje klasy, które zawierają dane oraz metody, które wykonują na nich określone zadania. Każdy obiekt dodatkowo posiadać trzy cechy:
- tożsamość — cecha pozwalająca na odróżnienie go od innych obiektów;
- stan — dane obiektu;
- zachowanie — zestaw metod (funkcji) wykonujących zadania na danych.
Gdzie wykorzystuje się programowanie obiektowe?
Programowanie obiektowe ma za zadanie nie tylko odwzorowywać w kodzie rzeczywistość w taki sposób, w jaki ludzki mózg przetwarza informacje. Tak naprawdę służy modularyzacji kodu, czyli jego podzieleniu na mniejsze części o uniwersalnym zastosowaniu, które można wielokrotne wykorzystać w różnych miejscach programu. Tworzenie abstrakcyjnych bytów, które posiadają swój własny stan i metody np. obiekt klasy: użytkownik, o polach: imię, posiada metodę typu dodajDoZnajomych(); sprawia, że kod jest bardziej zrozumiały. Równie istotną cechą tego paradygmatu programowania jest jego hermetyzacja, która sprawia, że nie można przypisywać wartości do pól innych obiektów w sposób przypadkowy – każdy obiekt udostępnia sposób, w jaki możne te dane zmienić, co wpływa na bezpieczeństwo i porządek kodu.
Programowanie obiektowe pozwala na dziedziczenie, czyli umożliwia definiowanie bardziej wyspecjalizowanych obiektów na podstawie ogólnych obiektów, dzięki czemu niepotrzebnie nie powiela kodu. Z tego też względu jest to paradygmat programowania, który pozwala na efektowną pracę w zespole — pozwala podzielić pracę, czyli przydzielić członkom zespołu napisanie poszczególnych obiektów, a następnie połączyć je w całość. Dzięki takiej cząstkowej budowie w przypadku, gdy jeden element nie będzie działał, można bez problemu wymienić go na inny. A zatem można osiągnąć bardzo czysty i czytelny kod dzięki jego cechom polimorfizmu i dziedziczenia, przez co raz napisany kod można wielokrotnie wykorzystywać w zależności od potrzeby projektu. Dlatego też programowanie obiektowe wykorzystuje się w pracy nad bardzo rozbudowanymi projektami, ponieważ pozwala kontrolować kod, a programistom łatwiej wdrożyć się i rozpocząć pracę nad projektem.

