Cześć drogi czytelniku 🙂 ! Dzisiejszy artykuł przeznaczyłam na wprowadzenie do programowania obiektowego. Dowiedzmy się więc tego z dalszej części 🙂 .
OPP – Object Oriented Programing – czyli programowanie zorientowane obiektowo. Termin ten oznacza przełożenie wybranej rzeczywistości na zapis w kodzie który tworzy określony program. Wybranej ponieważ nasz system/program który chcemy utworzyć dotyczy pewnej części naszej rzeczywistości. np.: aplikacja dla wypożyczalni aut lub książek. To co w takim systemie będzie potrzeba odwzorować to książki. Aby móc to zrobić trzeb będzie zdefiniować z jakich elementów tak naprawdę składa się książka np: nazwa wydawnictwa, tytuł, autor, ilość stron, rok wydania. Wszystkie te powyższe elementy to atrybuty które są przechowywane w wyznaczonej do tego klasie systemu.
public class Book {
private String publisher;
private String title;
private String author;
private int pages;
priavte int publishedYear;
}
Ale ponieważ opisujemy za pomocą kodu rzeczywistość wypożyczalni należy zdefiniować również użytkownika tej biblioteki. A więc potrzebne będą takie same dane jak w życiu realnym czyli np.: nr PESEL (jest pomocny do jednoznacznego określenia czy dany użytkownik jest tym właściwym użytkownikiem. Zdarzają się bowiem sytuacje gdy w bazie znajdują się dwie osoby o tym samym imieniu i nazwisku jednak są to dwie różne osoby. Taki pesel pomoże nam później w ich rozróżnieniu), imię, nazwisko, numer klienta.
public class User {
private Long clientNr;
private Long PESEl;
private String name;
private String surname;
}
Innymi słowy nasza rzeczywistość składa się z wielu rożnych obiektów. Dokładnie tak samo jest w programowaniu obiektowym. Tak więc wypożyczalnia składa się z obiektu książki i obiektu użytkownika. Obiekty tutaj powstają na podstawie zdefiniowanej klasy. Zobaczmy więc jak utworzyć nowy obiekt:
public static void main(String[] args) {
Book programerBook = new Book();
Book actionBook = new Book();
}
Tworzenie nowego obiektu następują za pomocą wykorzystania słówka „new”. Natomiast programerBook i actionBook są to referencje do dwóch różnych obiektów. Jednak za pomocą tak napisanego kodu możemy utworzyć kilka, kilkaset obiektów typu programerBook lub actionBook.
Na tym jednak nie koniec. Tak jak w prawdziwym życiu trzeba jeszcze zdefiniować w jaki sposób użytkownik może wypożyczyć daną książkę. Do tego celu służą nam właśnie metody o których wstępnie pisałam już wcześniej. W takiej logice biznesowej można określić np.: ile maksymalnie 1 użytkownik może wypożyczyć książek, jak długo użytkownik może posiadać wypożyczoną książkę oraz czy jeśli przekroczy termin to będzie naliczana dodatkowa opłata. W przypadku metod nie statycznych do ich wywołania konieczne jest utworzenie obiektu. Zobaczmy więc w jaki sposób wygląda wywoływanie metody na danym obiekcie:
public static void main(String[] args) {
Book programerBook = new Book();
Book actionBook = new Book();
programerBook.crateBook("Helion","Java w 21 dni", "Rogers Cadenhead", 600, 2015);
}
Jak więc możesz zauważyć został utworzony nowy obiekt książki programistycznej. Do konstruktora tego obiektu zastały przekazane już tym razem konkretne dane. Jest to możliwe ponieważ wcześniej została zdefiniowana określana klasa z atrybutami. Taka klasa nazywana jest modelem. Natomiast dzięki utworzeniu obiektu oraz wywołaniu na nim zdefiniowanej wcześniej metody createBook program potrafi zbudować nowy określony obiekt.
Podsumowując programowanie obiektowe to rodzaj programowania od ogółu do szczegółu. Ponieważ wraz z rozpoczęciem pisania nowej aplikacji definiujemy tylko ogólny zarys działania. Jak np. podstawowe modele, czy najistotniejsze metody. Wraz z rozwojem aplikacji definiujemy te elementy coraz bardziej szczegółowo. Klasy stanowią podstawę do utworzenia obiektu danego typu.
Zasada odwróconej odpowiedzialności jest znakiem rozpoznawczym projektu obiektowego.
Jeśli uważasz powyższy tekst za pomocny, podziel się z kimś komu może być przydatny, na pewno będzie Ci wdzięczny. A tymczasem do zboczenia w kolejnym wpisie 🙂 🙂 !!
Cześć! Ciekawy artykuł wprowadzający w tematykę programowania obiektowego. Jest to tak naprawdę temat rzeka, więc na pewno nie zabraknie pomysłów na następne wpisy!
Zwróciłbym dodatkową uwagę na literówki jak np. „… podziel się z komuś komu może …”.
Pozdrawiam!
Cześć! Dziękuje za taki miły komentarz i za uwagę na temat literówek :). Poprawiłam i zrobiłam kilka kosmetycznych poprawek :). Cieszę się że artykuł się spodobał. Pozdrawiam!