Co to jest programowanie obiektowe?
Niezależnie od tego, jakim językiem programowania się posługujesz, istnieje bardzo duża szansa, że potrzebujesz opanować umiejętność pisania programów w paradygmacie programowania obiektowego. Ten artykuł prezentuje podstawowe założenia, jakie trzeba poznać.
Fundamenty programowania obiektowego
Opanuj sztukę programowania obiektowego krok po kroku Dowiedz się więcej
Czym jest programowanie obiektowe?
W programowaniu wypracowano wiele paradygmatów i najbardziej popularnym z nich jest programowanie obiektowe, nazywane również programowaniem obiektowo zorientowanym.
Paradygmaty programowania są stylami pisania programów. Wyznaczają sposoby myślenia, dzięki któremu pisanie kodu jest bardziej skuteczne. Paradygmat daje programiście zbiór reguł, jakich powinien przestrzegać podczas tworzenia programu.
W paradygmacie programowania obiektowego program jest zbiorem komunikujących się ze sobą obiektów zamiast składać się tylko z logiki i funkcji. Obiekty są połączeniem stanu (inaczej danych lub atrybutów) i zachowania (inaczej procedury lub metody). Ten paradygmat dzieli kod na proste i nadające się do wielokrotnego wykorzystania moduły.
Podstawowe elementy
W programowaniu obiektowym tworzy się klasy, a następnie klasa ma swoje obiekty, które z kolei mają swoje atrybuty i zachowania. Klasa jest typem zmiennej i stanowi szablon dla obiektów. Klasa w całości albo w części opisuje budowę i działanie obiektów, które do niej należą. Obiekty są instancjami klas posiadającymi konkretne dane. Dla jednej klasy może zostać utworzone wiele obiektów naraz.
Żeby zwizualizować sobie, czym są stan i zachowanie obiektu, można zrobić porównanie do obiektów istniejących w świecie rzeczywistym. Weźmy na przykład samochód. Jego stan to między innymi kolor, wymiary i masa. Z kolei jego zachowania to na przykład trąbienie, świecenie czy jeżdżenie.
W ramach tej samej analogii można powiedzieć, że konkretny samochód jest obiektem należącym do klasy, jaką jest ogół samochodów. Klasa mówi nam na przykład, że każdy samochód ma jakiś kolor, a obiekt posiada konkretny przypisany sobie kolor. Klasa sama w sobie nie nadaje konkretnego koloru.
Zachowania nadane obiektowi posiadają kod zdefiniowany przez klasę. Dane zachowanie może zwrócić informację o obiekcie, albo zmodyfikować jego atrybuty. Klasa „samochód” może na przykład posiadać funkcję zmiany koloru. Po wywołaniu tej funkcji w konkretnym obiekcie, zmienia się jego atrybut koloru.
Zasady programowania obiektowego
Na programowanie obiektowe składają się cztery główne filary: abstrakcja, dziedziczenie, polimorfizm i hermetyzacja.
Abstrakcja oznacza tworzenie uogólnionego modelu, który nie jest reprezentowany przez żaden konkretny obiekt, tylko opisuje szablon, na podstawie którego definiowane są cechy i zachowania całego zbioru różnych obiektów.
Dziedziczenie polega na układaniu klas w pewne hierarchie. Jedne klasy są nadrzędne wobec innych, ponieważ tworzą szersze kategorie, w ramach których zawierają się pojęcia o węższym znaczeniu. Na przykład klasa samochodów osobowych może dzielić się na klasy odpowiadające danym markom samochodów osobowych, a te z kolei mogą dzielić się na kolejne węższe kategorie. Wszystkie podrzędne klasy dziedziczą wspólne atrybuty i zachowania od klasy nadrzędnej. Na przykład wszystkie samochody mają kolor, więc nie trzeba już nadawać oddzielnie atrybutu koloru każdej marce samochodu. Zmniejsza to ilość pisanego kodu.
Zasady programowania obiektowego
Polimorfizm (czyli wielopostaciowość) oznacza, że jedno zachowanie wspólne dla wielu obiektów należących do nadrzędnej klasy może działać w różniący się sposób na obiektach należących do odrębnych klas podrzędnych. Na przykład samochód i rower mogą należeć do nadrzędnej klasy pojazdów mających funkcję wydawania dźwięku, jednak wywołanie tej funkcji da inne efekty w przypadku samochodu, a inne w przypadku roweru.
Hermetyzacja (inaczej enkapsulacja) ma na celu zmniejszenie ilości błędów popełnianych przy pisaniu programu. Polega na zatajeniu implementacji atrybutów i zachowania. Stan wewnętrzny jednego obiektu nie może być zmieniany przez inny obiekt, jeśli nie pozwalają na to zasady dostępu. Jedne zmienne są dostępne tylko dla ich własnej klasy, podczas gdy do innych zmiennych dostęp jest szerszy albo w ogóle nieograniczony. Dzięki temu zmienne obiektu nie zostaną udostępnione przez przypadek.
Podsumowanie
W artykule tym zaprezentowane zostały reguły programowania obiektowego, które jest jednym z powszechnie wykorzystywanych paradygmatów mających na celu usprawnienie działania programów i pracy nad ich pisaniem. Trzeba jednak pamiętać, że istnieją inne paradygmaty i programowanie obiektowe nie zawsze będzie najlepszym wyborem. W przypadku bardzo prostych programów stosowanie programowania obiektowego może być niepotrzebnym dokładaniem sobie pracy.
Opublikowane 12 czerwca 2023 r. w kategorii: Programowanie
ŚCIEŻKA KARIERY
Twórz atrakcyjne i funkcjonalne strony internetowe z użyciem nowoczesnych technik. Opanuj kluczowe podstawy, niezbędne narzędzia i zacznij tworzyć wspaniałe strony! Dowiedz się więcej