Programowanie obiektowe


Informacje ogólne

Typ:obowiazkowy
Kierunek: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 semestrze

Literatura

  • 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