Programowanie obiektowe
Informacje ogólne
Typ:obowiazkowyKierunek:Informatyka studia licencjackie
Semestr:3
Wymiar zajęć:30 godzin wykładu, 30 godzin laboratorium
Punkty ECTS:6
Wymogi wstępne
Wstęp do programowania, Języki programowaniaZałożenia i cele przedmiotu
Celem przedmiotu jest zapoznanie studentów z zasadami programowania obiektowego i zdarzeniowego na przykładzie języka Java.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 i HashMaps); 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
Laboratoria: kolokwium z treści laboratoriów i egzamin treści wykładuWykład: Egzamin pisemny z treści prezentowanych a wykładzie.
Umiejętności i kompetencje
Studenci nabędą wiedzę i umiejętności niezbędne do tworzenia programów komputerowych zaprojektowanych zgodnie z paradygmatem programowania obiektowego.Literatura
- B. Eckel - Thinking in Java, Prentice Hall, 2000.
- 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.
- Dokumentacja źródłowa języka Java oraz bibliotek, dostępna na stronie www.java.sun.com
