“Wprowadzenie do języka Java
i platformy Eclipse”
Cel szkolenia
Wzrastająca popularność Javy wpłynęła na powstanie silnej społeczności, której członkami są zarówno duże firmy, np. IBM, Oracle, fundacje, np. Apache Fundation jak i będący doskonałymi fachowcami pojedynczy programiści. Efektem tego jest wielość źródeł informacji dotyczących Javy, powstanie bibliotek oprogramowania, gotowych aplikacji z dostępnym kodem źródłowym, szkieletów aplikacji (ang. frameworks), które można efektywnie (i bardzo często bezpłatnie) wykorzystać we własnej pracy, co przekłada się bezpośrednio na wzrost produktywności i niezawodność tworzonego oprogramowania.
Widać więc, że Java jest językiem przyszłościowym i czas poświęcony na jego naukę nie jest na pewno czasem straconym. Włożony wysiłek będzie procentował nawet wtedy, gdy programujemy w innym języku, gdyż wiele dobrych praktyk programistycznych , używanych przy tworzeniu oprogramowania w Javie jest uniwersalne.
W trakcie kursu będziemy wykorzystywać do tworzenia oprogramowania platformę Eclipse. Jest ona narzędziem darmowym, elastycznym, dzięki możliwości rozszerzania przy pomocy wtyczek, a przede wszystkim ma niezwykle bogatą funkcjonalność, pozwalającą tworzyć kod efektywnie i bezbłędnie.
Zakres kursu obejmuje podstawowe i wybrane zaawansowane elementy języka Java oraz dokładne zapoznanie się z możliwościami Eclipse’a. Kurs jest ma nastawienie praktyczne, uczestnicy w czasie szkolenia wykonują wiele drobnych i poważniejszych ćwiczeń.
Uczestnicy
Program
- Podstawy języka Java. Wprowadzenie do Eclipse.
- Wstęp. Historia Javy, zalety języka, zastosowania.
- Architektura języka. Java Virtual Machine, mechanizm HotSpot. Wydajność Javy – fakty i mity. Możliwość uruchomienia programów na wielu platformach.
- Java a Twój ulubiony język programowania (C++, Delphi, Python…).
- Elementy programowania obiektowego.
- Podstawy programowania obiektowego – obiektowy sposób patrzenia na oprogramowanie. Wszystko jest obiektem.
- Obiekty i ich interfejsy. Projektowanie z wykorzystaniem interfejsów.
- Obiekty jako byty o określonej odpowiedzialności dostarczające usług innym obiektom.
- Ukrywanie implementacji.
- Dziedziczenie i kompozycja. Co jest „lepsze”?
- Polimorfizm. Projektowanie oprogramowania z myślą o polimorfizmie.
- Pierwszy program w Javie. Hello World!
- Tworzenie i uruchomienie programu w Javie (Notatnik + linia komend).
- Instalacja i podstawy Eclipse.
- Pierwszy program w Javie i Eclipse. Tworzenie pakietów i klas. Kompilacja i uruchamianie programów Javy w Eclipse
- Klasy i obiekty. Tworzenie i niszczenie obiektów – podstawowe informacje.
- Koncepcja platformy Eclipse. Widoki i perspektywy.
- Podstawowe elementy języka Java.
- Klasa: pola i metody.
- Zmienne, wbudowane typy danych i ich ograniczenia.
- Operatory
- Bloki, pętle i inne elementy sterujące przebiegiem programu.
- Typ tablicowy.
- Wykorzystanie mechanizmu podpowiedzi i wzorców kodu w Eclipse.
- Tworzenie dokumentacji (JavaDoc) oraz konwencje tworzenia kodu Javy (Java Code Conventions). JavaDoc w Eclipse.
- Inicjalizacja obiektów i zwalnianie zasobów.
- Tworzenie obiektów przy pomocy konstruktorów.
- Alternatywne sposoby tworzenia obiektów. Metody i pola statyczne.
- Kolejność inicjalizacji pól w obiekcie.
- Przeciążanie metod – podstawy.
- Ukrywanie implementacji.
- Grupowanie klas w pakietach. Tworzenie bibliotek klas.
- Ograniczanie dostępu do klas, metod i pól w Javie.
- Słowo kluczowe final.
- Tworzenie archiwów JAR. Używanie utworzonych klas i bibliotek.
- Miejsca w Internecie, które powinien znać każdy programista Java.
- Programowanie obiektowe w Javie
- Dziedziczenie. Dziedziczenie a kompozycja. Poprawne wykorzystywanie dziedziczenia.
- Polimorfizm.
- „Czysty” polimorfizm a rozszerzenie.
- Kolejność inicjowania obiektów a polimorfizm.
- Projektowanie z wykorzystaniem polimorfizmu. Unikanie „spaghetti code”.
- Klasy abstrakcyjne.
- Interfejsy.
- Wielodziedzicznie w Javie.
- Interfejsy i dziedziczenie. Zagnieżdżanie interfejsów.
- Interfejs jako kontrakt: warunki wstępne, końcowe oraz niezmienniki.
- Odpowiedzialność klas. Przykład: klasy Date i Calendar.
- Klasy wewnętrzne.
- Gdzie można umieszczać klasy wewnętrzne. Dostęp do klas wewnętrznych.
- Anonimowe klasy wewnętrzne.
- Własności klas wewnętrznych.
- Jak i kiedy używać klas wewnętrznych.
- Typowe błędy popełniane przy programowaniu w Javie. Problemy z klasą String. Wykorzystanie obiektów niezmiennych (ang. immutable).
- Obsługa błędów w Javie. Wyjątki.
- Przechwytywanie wyjątków, try-catch-finally.
- Tworzenie wyjątków.
- Poprawne użycie wyjątków, łańcuchy wyjątków.
- Wyjątki jako element bezpieczeństwa.
- Czy wyjątki są potrzebne?
- Logowanie wyjątków. (*)
- Asercje.
- Debugowanie aplikacji w Eclipse.
- Wykrywanie typu obiektów „w locie” – mechanizm RTTI. (*)
- Rzutowanie typów w Javie. Potrzeba RTTI.
- Odbicie (reflection) – zdobywanie informacji o obiekcie w trakcie wykonywania programu.
- Kolekcje obiektów.
- Tablice, klasa Arrays.
- Kolekcje obiektów. Lista. Zbiór. Mapa (tablica asocjacyjna).
- Generyki (Java Generics)
- Przeglądanie kolekcji. Iteratory. Pętla „foreach”.
- Operacje na elementach kolekcji.
- Sortowanie – wzorzec projektowy Strategy.
- Wypełnianie kolekcji obiektami.
- Inne operacje.
- Synchronizacja dostępu do kolekcji.
- „Stare kolekcje” z Javy 1.0/1.1.
- Problemy z kolekcjami i radzenie sobie z nimi.
- System wejścia-wyjścia w Javie.
- Klasa File.
- Zrozumieć I/O w Javie – strumienie.
- Wejście i wyjście InputStream, OutputStream, buforowanie. Kompresja.
- Serializacja obiektów.
- Konfiguracja aplikacji przy pomocy Properties i Preferences.
- Wyrażenia regularne w Javie. (*)
- Wykorzystanie biblioteki java.util.regexp. (*)
- Wykorzystanie Eclipse do pracy z wyrażeniami regularnymi (wtyczka). (*)
- Wątki w Javie – wykonywanie kilku czynności w tym samym czasie.
- Potrzeba wątków. Podstawy. Dzielenie zasobów.
- Współpraca między wątkami.
- Refaktoryzacja kodu.
- Dlaczego będziemy refaktoryzować kod?
- Wsparcie refaktoryzacji w Eclipse.
- Wykorzystanie Maven-a do zarządzania kodem
- Tworzenie graficznego interfejsu użytkownika.
- Wykorzystanie wzorca Model-View-Controller do budowy GUI. Separacja logiki aplikacji i wyglądu
- Podstawowe komponenty Swing. Przechwytywanie zdarzeń.
- Wizualne tworzenia interfejsu użytkownika. Przegląd komponentów Swing.
- Zasady poprawnego tworzenia interfejsu użytkownika. Problem wielowątkowości.
- Aplety Java (ang. java applets)
- Komponenty JavaBeans i komponenty Swing.
- Biblioteki ułatwiające tworzenie GUI.
- Swing kontra SWT.
- Tworzenie aplikacji wielojęzycznych
- Lokalizacja (locale).
- Internacjonalizacja (I18n).
- Tworzenie zasobów językowych w plikach *.properties. Wykorzystanie Unikoda.
- Narzędzia native2ascii. Wsparcie Eclipse przy tworzeniu aplikacji wielojęzycznych.
- Metadane (ang. annotations). Konfiguracja aplikacji i automatyczne
generowanie kodu. (*) - Tematy dodatkowe (*)
- Dziennik aplikacji. Log4J.
- Wykorzystanie Jakarta Ant do zarządzania kodem.
- Tworzenie testów jednostkowych.
- Profilowanie (badanie wydajności) aplikacji. Wsparcie Eclipse (wtyczka).
(*) Gwiazdką są oznaczone zagadnienia dodatkowe, które są omawiane, gdy starczy na nie czasu.
Czas trwania
5 dni szkoleniowych
Koszt
3700 PLN + VAT
Metoda prowadzenia
Wersja e-learningowa
Do pobrania
Pobierz: Formularz zgłoszeniowy »
Subskrybuj nasz Newsletter
Otrzymasz dostęp do darmowych materiałów szkoleniowych
i nie przegapisz żadnej z istotnych naszych inicjatyw.