Java #28: instanceof operator

java instanceof

Słowo kluczowe instanceof Ta lekcja jest kontynuacją poprzedniej lekcji o interfejsach. Wkrótce zobaczysz, że interfejsy są używane bardzo często w języku Java. Najważniejsze jest zrozumienie, że interfejs to taka foremka, którą później trzeba wypełnić, ale póki jej nie użyjesz do końca nie wiesz, co w niej jest. I tu pojawia się problem. Przeanalizuj wpierw poniższy … Dowiedz się więcej

Java #26: klasa Object

java object class

Klasa Object – matka wszystkich klas Wróć do znanej z poprzednich lekcji klasy Cat (może to być też jakakolwiek inna zaimplementowana przez Ciebie klasa) i spróbuj wywołać ją w metodzie main, tak jak na obrazku: W menu kontekstowym Eclipse widać wszystkie metody dostępne z klasy, którą wywołujesz (w tym przypadku po Cat, a także dziedziczonych po … Dowiedz się więcej

Java #22: słowo kluczowe final

java final class

Wiesz już czym jest dziedziczenie oraz polimorfizm. Znasz także klasę abstrakcyjną, która musi rozszerzać inną, aby zostać użyta. Czasami jednak będziesz chcieć uniknąć rozszerzania jednej klasy przez drugą. Powodów może być wiele, a jednym z nich jest uproszczenie architektury kodu poprzez wykorzystanie słowa final. Słowo kluczowe final może być użyte przed nazwą klasy, metody, pola, … Dowiedz się więcej

Java #21: przeciążanie metod

java overload vs override

W poprzedniej lekcji pisałem o tym jak przesłaniać metody za pomocą dziedziczenia i adnotacji @Override. Teraz dowiesz się, jaka jest różnica między przesłanianiem (ang. override) a przeciążaniem (ang. overload) metody. Nie jest to wbrew pozorom to samo i często przeciążanie metod jest mylnie utożsamiane jako synonim przesłaniania. Przypatrz się klasom Worker i Lawyer. Teraz napiszę klasę Lawyer dziedziczącą … Dowiedz się więcej

Java #20: adnotacja override, przesłanianie metod

java overriding

Czym są adnotacje? W dzisiejszej lekcji poznasz swoją pierwszą adnotację, którą to będzie adnotacja override. Adnotacje tak jak obiekty są typami referencyjnymi. Nie będę wnikał w jaki sposób się je tworzy, bo jest to wiedza zaawansowana, na dzień dzisiejszy kompletnie Ci nieprzydatna. Adnotacje w Javie możesz traktować jak swego rodzaju specjalne parametry, które nie wpływają w … Dowiedz się więcej

Java #19: polimorfizm i słowo kluczowe this

java polymorphism

Co oznacza polimorfizm? Zagadnienie, które dziś poznasz to polimorfizm. Po pierwszym wymówieniu tego słowa pewnie zastanawiasz się kto wpadł na taki pomysł, aby używać w programowaniu słowa, którego znaczenia nikt nie zna. Podejrzewam też, że nigdy wcześniej nie udało Ci się natknąć na to określenie. Opowiem Ci, że ja byłem chyba wyjątkiem w tej kwestii, … Dowiedz się więcej

Java #18: klasy abstrakcyjne

java abstract class

Znasz już podstawy programowania strukturalnego oraz podstawowe algorytmy. Teraz czas przejść do bardziej skomplikowanych paradygmatów programowania obiektowego. Klasy abstrakcyjne są (abstrakcja) jednym z paradygmatów programowania obiektowego. Można ją wytłumaczyć jak stosowanie równań matematycznych w fizyce. Matematyczne obliczenia to pewnego rodzaju abstrakcja, która później przy podstawieniu odpowiednich wartości wylicza odpowiednie właściwości, które obserwujesz w przyrodzie. Klasy … Dowiedz się więcej

Java #9: dziedziczenie oraz modyfikator protected

java inheritance

Jedną z zasad właściwego programowania jest niepowtarzanie raz zaimplementowanego kodu. Czasami jest to trudne, ponieważ, aby użyć tych samych pól i metod w innych klasach musielibyśmy: używać programowania strukturalnego (czyli słowa kluczowego static), co łamie zasady programowania obiektowego, więc odrzucam tą opcję, użycie kompozycji (np. pola, które będzie typem referencyjnym do obiektu, z którego chcemy … Dowiedz się więcej