Programowanie obiektowe a programowanie proceduralne
Programowanie obiektowe (OOP) i programowanie proceduralne to dwa paradygmaty programowania. Paradygmat programowania jest podstawowym stylem programowania komputerowego i różnią się one sposobem, w jaki reprezentowane są różne elementy programu oraz sposobem definiowania kroków rozwiązywania problemów. Jak sama nazwa wskazuje, OOP koncentruje się na reprezentowaniu problemów za pomocą rzeczywistych obiektów i ich zachowaniu, natomiast Programowanie proceduralne zajmuje się reprezentowaniem rozwiązań problemów za pomocą procedur, które są kolekcjami kodu działającymi w określonej kolejności. Istnieją języki programowania, które obsługują kluczowe aspekty OOP (zwane językami OOP), proceduralne (zwane językami proceduralnymi) i oba. Ale jedną ważną rzeczą, na którą należy zwrócić uwagę, jest to, że OOP i Proceduralne są dwoma sposobami reprezentowania problemów do rozwiązania i nie ma znaczenia, który język jest używany. Innymi słowy, języki OOP mogą być używane do programowania proceduralnego, podczas gdy języki proceduralne mogą być czasami używane do OOP, przy pewnym wysiłku.
Programowanie proceduralne to sposób programowania poprzez identyfikację zestawu kroków w celu rozwiązania określonego problemu oraz dokładnej kolejności, w jakiej należy je wykonać, aby osiągnąć pożądany wynik lub stan. Na przykład, jeśli chcesz obliczyć saldo końcowe na koniec miesiąca dla konta bankowego, wymagane kroki są następujące. Najpierw uzyskujesz saldo początkowe konta, a następnie zmniejszasz wszystkie kwoty debetowe występujące w ciągu miesiąca. Następnie dodajesz wszystkie kwoty kredytu występujące w ciągu miesiąca. Pod koniec procesu otrzymasz saldo zamknięcia konta na koniec miesiąca. Jedną z głównych koncepcji programowania proceduralnego jest wywołanie procedury. Procedura znana również jako podprogram, metoda lub funkcja zawiera uporządkowaną listę instrukcji do wykonania. Procedurę można wywołać w dowolnym momencie podczas wykonywania dowolnej innej procedury lub samodzielnie. Przykładami języków programowania proceduralnego są C i Pascal.
W OOP nacisk kładziony jest na myślenie o problemie do rozwiązania w kategoriach elementów świata rzeczywistego i reprezentowanie problemu w kategoriach obiektów i ich zachowania. Obiekt jest strukturą danych, która bardzo przypomina niektóre obiekty świata rzeczywistego. Obiekty zawierają pola danych i metody reprezentujące atrybuty i zachowanie obiektów w świecie rzeczywistym. Istnieje kilka ważnych koncepcji OOP, takich jak abstrakcja danych, enkapsulacja, polimorfizm, przesyłanie wiadomości, modułowość i dziedziczenie. Niektóre popularne języki OOP to Java i C #. Można ich jednak używać również do programowania proceduralnego.
Kluczowa różnica między OOP a programowaniem proceduralnym polega na tym, że programowanie proceduralne koncentruje się na rozbiciu zadania programistycznego na zbiór zmiennych i podprogramów, podczas gdy OOP polega na rozbiciu zadania programistycznego na obiekty, które zawierają dane i metody. Najbardziej zauważalna różnica może polegać na tym, że podczas gdy programowanie proceduralne wykorzystuje procedury do bezpośredniego działania na strukturach danych, OOP połączy dane i metody razem, tak aby obiekt działał na własnych danych. Jeśli chodzi o nomenklaturę, procedura, moduł, wywołanie procedury i zmienna w Programowaniu proceduralnym są często określane odpowiednio jako metoda, obiekt, komunikat i atrybut w OOP.