Programowanie Obiektowe

Programowanie obiektowe jest paradygmatem programowania, który opiera się o tworzenie aplikacji w taki sposób, aby jak najlepiej odzwierciedlać otaczającą nas rzeczywistość i aby model danych oddawał sposób postrzegania świata przez człowieka (czyli, że na przykład że jabłko jest owocem, a nie kolorową kulą). Poniżej znajdziesz kilka lekcji, które omawiają to zagadnienie krok po kroku na prostych przykładach i zadaniach, do których odpowiedzi znajdziesz na końcu danej lekcji. Poznasz tu zagadnienia między innymi takie jak klasa, obiekt, interfejs, czy klasa abstrakcyjna i dziedziczenie.

Klasy, metody i obiekty

W pierwszej części kursu powiedzieliśmy tylko pobieżnie czym są klasy i metody w języku Java. Tym razem przyjrzymy im się nieco bliżej. Dowiemy się jak mogą wyglądać, po co ich używać oraz jak przekazywać im parametry. Pierwszy program jaki napisaliśmy wyglądał następująco: public class Hello{ publi...

Pierwszy program obiektowy

W naszym kursie przyszła pora na kolejny "pierwszy program". Tym razem wykorzystamy mechanizmy programowania obiektowego (ang. Object oriented programming). To co go będzie odróżniało od innych to fakt, że będzie on rozbity początkowo na dwa, a później na więcej plików...

Argumenty metod

Z poprzednich lekcji kursu wiemy, że metody mogą zarówno nie przyjmować żadnych argumentów, jak i przyjmować ich kilka. Tym razem omówimy to nieco dokładniej, ponieważ w Javie można przekazywać argumenty wyłącznie przez wartość/wartość referencji, co niesie za sobą czasami kompl...

Przeciążanie metod

Poprzednia lekcja kursu nauczyła nas, że metody mogą przyjmować różne rodzaje argumentów. Zarówno typy proste jak i obiektowe, w różnej ilości, lub wcale. Tym razem zajmiemy się zagadnieniem, które nazywa się przeciążaniem metod (ang. Ove...

Konstruktory

Wiemy już, że aby utworzyć nowy obiekt należy skorzystać ze słówka kluczowego new. Na tej lekcji kursu dowiemy się jak tworzyć obiekty w taki sposób, aby na przykład od razu miał zainicjowane pola jakimiś podanymi przez nas danymi. Do tej pory robiliśmy to poprzez utw...

Dziedziczenie - podstawy

Dziedziczenie to podstawowy mechanizm programowania obiektowego. Dzięki niemu możemy utworzyć spójną i łatwą do zrozumienia hierarchię klas, a to uczyni nasz kod bardziej przejrzystym i bardziej podatnym na późniejsze modyfikacje. Dziedziczenie jak sama nazwa wskazuje powoduje przekaza...

Parametry i słowo kluczowe this

W Javie metody i konstruktory mogą być zarówno bez parametrów jak i przyjmować ich różną ilość. Można je podzielić na dwa zasadnicze typy: - parametry jawne (explicit parametr) - parametry niejawne (implicit parametr) Zobaczmy to na przykładzie....

Interfejsy

Interfejs w rozumieniu jakie za chwilę poznamy może się w pierwszej kolejności mylić z pojęciem interfejsu użytkownika, czyli graficznym dostępem do różnych funkcji programu. W naszym przypadku będzie do szkielet, albo bardziej szczegółowo wymóg jaki będą musiał...

Dziedziczenie cd. i konstrukcja super()

Kontynuując tematykę dziedziczenia przyjrzyjmy się dokładniej jak wykorzystywać już raz zdefiniowane metody oraz konstruktory. W końcu czasami mimo iż rozszerzamy inną klasę, to chcielibyśmy mieć możliwość dodania do nich czegoś dodatkowego. Zacznijmy od przykładu. Niech klasą bazową będzie Pracowni...

Wyjątki - blok try catch

Blok try catch W większości programów, które będziemy mieli okazję napisać w swoim życiu występują błędy różnego rodzaju. Niektóre z nich są spowodowane naszą błędną implementacją, a inne na przykład błędnymi danymi podanymi przez użytkownika. Byłoby więc...

Zgłaszanie wyjątków - instrukcja throw

W poprzedniej lekcji kursu nauczyliśmy się obsługiwać wyjątki generowane podczas wykonania programu poprzez klauzulę try catch. Dziś postaramy się dowiedzieć jak w inny sposób można je zgłaszać. Jest to umiejętność szczególnie przydatna w przypadku wyjątków, których nie d...

Polimorfizm

Kończąc rozważania na temat programowania obiektowego nie można nie wspomnieć o rzeczy, na której to wszystko się opiera, chodzi oczywiście o wspominany już w lekcji o interfejsach, czy klasach abstrakcyjnych polimorfizm. Znakomicie oddaje on zasadę IS-A

Klasy abstrakcyjne

W Javie do tworzenia pewnej abstrakcji służą jak już się dowiedzieliśmy interfejsy. Istnieje jednak również drugi sposób, są to klasy abstrakcyjne. Ich użycie, a także budowa jest bardzo podobna do interfejsów, ale zawiera też pewne różnice, poniżej znaj...

Metody o zmiennej liczbie argumentów

Od piątej wersji Javy, mamy do dyspozycji mechanizm pozwalający na tworzenie metod o zmiennej ilości argumentów, bez konieczności wykorzystywania tablic przechowujących te argumenty. Schematycznie wygląda to tak: [typ] metoda(typ ArgumentStały, typ...GrupaArgumentow) Początek nagłówka ...