Programowanie obiektowe
Informacje ogólne
Typ:obowiazkowyKierunek:Informatyka studia licencjackie
Semestr:3
Wymiar zajęć:40h wykładu i 40h laboratorium
Punkty ECTS:12
Program
- Wprowadzenie pojęć podstawowych. Klasa, obiekt, pole, metoda; pola i metody: statyczne, publiczne oraz prywatne w języku Java; inicjalizacja i usuwanie obiektu oraz mechanizm tzw. zbieracza śmieci; przegląd instrukcji sterujących języka Java i ich porównanie z instrukcjami sterującymi języka C.
- Pakiety klas języka Java - ukrywanie implementacji. Struktura pakietu; importowanie pakietów; ustalanie praw dostępu do składowych pakietu; budowa interfejsów i ich implementacja.
- Dziedziczenie i polimorfizm. Dziedziczenie - składnia i zachowanie praw dostępu do dziedziczonych pól i metod; od abstrakcji do konkretu: klasy abstrakcyjne i finalne; porównanie własności pól finalnych i statycznych; porównanie własności metod przeciążonych i polimorficznych; przykłady wywołań funkcji polimorficznych
- Przegląd klas implementujących typowe struktury danych. Pojęcie statycznych i dynamicznych struktur danych; przegląd własności i udostępnianych operacji na typie Collection języka Java i typach pochodnych (List, Set, BitSet, Maps, Vector, Stack i Hashtable); klasy implementujące typy wyliczeniowe i iteratory; polimorficzne metody umożliwiające sortowanie elementów przechowywanych w kolekcjach.
- Programowanie z wykorzystaniem wyjątków. Przegląd predefiniowanych wyjątków w języku Java; zasady tworzenia nowych wyjątków; zgłaszanie i wyłapywanie sytuacji wyjątkowych.
- Programowanie z wykorzystaniem wątków. Pojęcie wątku, zasobów współdzielonych i sekcji krytycznej; przegląd metod współdzielenia zasobów w języku Java: blokowanie zasobów i problem zakleszczenia wątków oraz kolejki priorytetowe i problem uczciwości w dostępie do zasobów; przykłady wykorzystania wątków języka Java do implementacji klasycznych problemów dostępu do zasobów krytycznych.
- Aplety i aplikacje graficzne. Tworzenie apletów - przegląd możliwości oferowanych przez bibliotekę AWT: elementy graficzne i sposoby ich rozmieszczania w oknie, rodzaje zdarzeń związanych z oknami biblioteki AWT i sposoby ich wyłapywania; tworzenie aplikacji - przegląd możliwości oferowanych przez biblioteki Java Beans i Java Swing.
Sposób zaliczenia
egzamin po 2 semestrzeLiteratura
- Eckel B., Thinking in Java - edycja polska. Wydawnictwo HELION, Warszawa, 2006.
- Horstmann C. S., Cornell G., Core Java 2 - Podstawy. Helion, 2003.
- Horstmann C. S., Cornell G., Core Java 2 - Techniki zaawansowane. Helion, 2005.
- Campione M., Walrath K., Java Tutorial. Addison-Wesley, 2000.
- Budd T., An introduction to Obiect-Oriented Programming. Adison Wesley, 1991.
- Campione M., Walrath K., Java Tutorial. Addison-Wesley, 2000.
- Dokumentacja źródłowa języka Java oraz bibliotek, dostępna na stronie www.java.sun.com
