Java: Klasy i metody abstrakcyjne. Interfejsy.

Klasy i metody abstrakcyjne Klasy i metody abstrakcyjne to sposób na wejście jeszcze wyżej w filozofię programowania obiektowego. W sposób najprostszy abstrakcje te powodują, że wprost nie da się powołać z nich obiektów. Te struktury są jedynie „zarysem”, pewną „ideą” jaką programista zamierzył w stosunku do klasy, czy do metody. Dopiero na podstawie tej idei należy wypełnić ją treścią, a wtedy dopiero można tę treść przywołać „do życia” w postaci instancji klasy potomnej, Dowiedz się więcej…

Java: Dziedziczenie

Dziedziczenie jest szeroko wykorzystywane w programowaniu obiektowym. Wywodzi się ono niejako w sposób bezpośredni z idei programowania obiektowego. W założeniu polega na pomyśle, że niepotrzebnym jest wielokrotne powielanie kodu programu w różnych jego blokach funkcjonalnych, które się między sobą nie za bardzo różnią, bądź nie różnią się w ogóle, a powielenie wynika z tego, że w ten sam (lub podobny) sposób mamy się zająć dwiema Dowiedz się więcej…

Podejście obiektowe – pojęcie klasy, konstrukcja obiektu (konstruktory, metody)

Podejście obiektowe służy uporządkowaniu konstrukcji programu, hermetyzacji danych i metod, oraz naturalnemu, intuicyjnemu grupowaniu funkcjonalności programu w obrębie zamkniętych obiektów cechujących się wyróżniającymi je elementami. Takie działanie sprzyja przejrzystości programu, gdyż w podejściu obiektowym dosyć szybko możemy wyróżnić i zinterpretować obiekty nas interesujące. Hermetyzacja pomaga także utrzymać spójność danych utrudniając swobodną manipulację nimi, przez co zwiększając ich wiarygodność i odporność Dowiedz się więcej…

Tablice „dynamiczne” – kolekcje: listy, wektory, kolejki, sety, mapy.

Znamy już struktury tablicowe i wiemy jakie niedogodności za sobą przynoszą. Z uwagi na ich prostotę często z nich korzystamy i korzystać będziemy, jednakże z uwagi na ich wady nieraz to zastanawiać się możemy czy nie ma czegoś „lepszego”. Tym „lepszym” mogą się okazać kolekcje, czyli elementy umieszczane w pamięci operacyjnej komputera i powiązane ze sobą specyficznymi, dla natury tej użytej akurat kolekcji, odsyłaczami. Grupa kolekcji Dowiedz się więcej…

Varargs…

Nieraz w naszym świecie potrzeb mamy do czynienia z faktem, że musimy coś przeliczyć opierając się na pewnej ilości argumentów. Do Java wersja 5 mogliśmy to zrobić tworząc metodę parsującą tablicę argumentów, bądź osobno stworzoną listę argumentów. Tym niemniej obecnie możemy oprzeć się na mechanizmie zmiennej ilości argumentów w metodzie. Użycie varargs, bo o tym mechanizmie mowa, może wyglądać następująco: Wynikiem Dowiedz się więcej…

Obsługa plików tekstowych i binarnych

Obsługa plików należy do nieco „wyższego” poziomu wtajemniczenia. Jednakże przy pewnym zaawansowaniu programowania trudno bez niej się obejść. W zakresie tej obsługi trzeba wyróżnić obsługę plików tekstowych, czyli takich, które zawierają wartości będące ekwiwalentem tekstu pisanego i które winny być interpretowane jako tekst; oraz pliki binarne, które zaś mogą zawierać dowolne wartości, i trudno jednoznacznie przyjąć co jest Dowiedz się więcej…

Dodatek: Liczby pseudolosowe

Liczby pseudolosowe są udostępniane jako wynik działania generatora liczb pseudolosowych. W przypadku języka Java za działanie generatora odpowiada klasa Random. Przykładem użycia jest poniższy program: Po zaimportowaniu odpowiedniej biblioteki możemy przystąpić do stworzenia instancji rand klasy Random. Posiadając instancję możemy powoływać się na metody udostępnione w ramach tej klasy. Do najczęściej przydatnych należą: nextInt() – generujący liczbę pseudolosową w pełnym Dowiedz się więcej…

Obsługa klawiatury

Trudno pisać programy, które nie zapewnią interakcji z użytkownikiem. Jedną z form takiej interakcji jest obsługa klawiatury. W języku Java jest kilka możliwości związanych z obsługą klawiatury. Praktycznie operują one na strumieniu wejściowym System.in. Z uwagi jednak na fakt specyficznej trudności w bezpośredniej obsłudze tego strumienia, są dedykowane biblioteki zajmujące się tą tematyką. Jedną z nich jest biblioteka klasy Scanner. Aby użyć Dowiedz się więcej…

Tablice jedno i wielowymiarowe.

Tablice, czyli konstrukcje o jednorodnej strukturze. W nich możemy zapisać wiele elementów takich samych typów. Zrozumienie tych struktur jak są skonstruowane pozwoli na bezbłędne ich później używanie. Tablice jednowymiarowe Deklaracja tablicy zawiera w sobie informację o rodzaju (typie) przechowywanych w niej elementów, oraz o ilości tych elementów. Na tej podstawie rezerwowana jest pamięć, w której przechowywana jest ta struktura. Tak więc deklaracje tablic mogą przyjąć poniższy Dowiedz się więcej…

Wyrażenia warunkowe

Jedną z charakterystycznych cech języka jest możliwość realizacji rozwidleń programu w zależności od wartości warunku do sprawdzenia. Najbardziej rozpowszechnioną wersją rozwidleń warunkowych jest: if … else Przykładem działania tego polecenia jest kod: Po wyrażeniu if następuje blok warunku, który w () jest obliczany zgodnie z zasadami matematycznymi. Jeśli ewaluacja warunku daje wynik true, to wykonywana jest wtedy sekwencja rozkazów Dowiedz się więcej…