Literały w Javie

Jednostka leksykalna Zasób słów w języku polskim nazwiemy słownictwem. Albo leksykiem. Stąd też mamy takie pojęcie jak jednostka leksykalna. Leksykalna, czyli powiązana ze słownictwem. Jednostka leksykalna to najmniejsza, samodzielna […]

Typy ogólne cz. 1

Spróbuję w pigułce zawrzeć najczęściej (moim zdaniem) spotykane zagadnienia dotyczące typów ogólnych oraz dylematów z nimi związanych. Nie tracimy czasu. Brum brum. Co myślisz, kiedy słyszysz o typach ogólnych. Jeśli […]

Odwrócenie zależności

Zanim przekleję z internetu definicję odwrócenia zależności, najpierw poznamy kilka innych terminów, a na koniec wszystko stanie się jasne. Kierunek działania programu W angielskich źródłach będzie mowa o flow of […]

Design By Contract

Gdy słyszałem słowo kontrakt w kontekście programowania, to automatycznie otwierała mi się w mózgu szufladka z Javowym konstruktem jakim jest interfejs (interface). Nieważne teraz czy słusznie czy nie. W wielu źródłach interfejs jest […]

Immutable

Proste. private, final, settery be, blablablabblssadasdknsfoiwdf. Jeśli potrzebujesz odświeżyć definicję, to wejdź tu albo gdziekolwiek chcesz, wszędzie to samo będzie napisane. J. Bloch napisał w Effective Java: “Classes should […]

[S]OLID

Każdy taki akronim wygląda sexy. Mmm SOLID. Dobrze wiedzieć, że istnieje coś takiego. A gdyby tak wiedzieć co każda z literek oznacza, a gdyby tak rozumieć jeszcze. Z miejsca 15k koleżko. Zaufaj mi. Znasz […]

Abstrakcja

Zacznijmy od czegoś prostego. Według słownika abstrakcja to: “a general concept formed by extracting common features from specific examples” “the action of removing something from something else” […]

Polimorfizm dynamiczny

W poprzednim wpisie w kilku zdaniach opisałem czym jest run-time  i czym on się różni od etapu compile-time . Aby zrozumieć jak działa polimorfizm dynamiczny możemy posłużyć się wieloma prostymi, mniej […]

Polimorfizm statyczny

W przeciwieństwie do polimorfizmu dynamicznego, kompilator dokładnie zdaje sobie sprawę, która metoda zostanie wywołana. Polimorfizm statyczny uzyskujemy poprzez przeciążenie metod (overloading). Poniżej przykład, gdzie przeciążanie metod nie jest zastosowane. […]

Run-time vs compile-time

Aby nasz kawałek kodu zaczął działać musimy go najpierw skompilować przy pomocy guziczka w naszym Eclipsie/IntelliJ czy innym IDE bądź użyć polecenia javac z linii poleceń. W tym prostym stwierdzeniu widoczne […]