Logo Strona główna   Dokumenty KWMiMKM   Dokumenty i listy   Utwórz   Ustawienia witryny   Pomoc    Przejdź w górę do witryny dydaktyka.polsl.pl
Programowanie obiektowe  
 
Opis przedmiotu
Program przedmiotu
Tematyka laboratorium
Warunki zaliczenia
Literatura
Linki
Sylabusy w formacie PDF
 
 
 
 
 
Icon

 

Kierunek: Automatyka i Robotyka
Specjalność: Modelowanie komputerowe układów i procesów (AB3)
Semestr: VII
Punkty ECTS: 2
Odpowiedzialny za przedmiot: prof. dr hab. inż. Tadeusz Burczyński
Prowadzący: dr Mirosław Habarta

Opis przedmiotu

Programowanie obiektowe jest uznawane obecnie za najbardziej zaawansowaną technikę programowania. Jego zasadniczą cechą jest możliwie wierne odwzorowanie modelowanej przez program rzeczywistości na struktury danych i algorytmy programu.

W ramach tego przedmiotu

Samo pojęcie programowania obiektowego nie jest związane z żadnym konkretnym językiem programowania. Tym niemniej, w ramach niniejszego przedmiotu, przedstawione zostanie programowanie obiektowe w języku C++. Wybór ten podyktowany jest kilkoma faktami:

  • jest to chyba najbardziej rozpowszechniony język programowania w obecnej chwili,
  • studenci powinni już znać pewne podstawy programowania w tym języku z przedmiotu “Język programowania”.

Należy jednak pamiętać, że taki wybór języka nie jest jedyną możliwością, co więcej - niektóre inne języki np. (Python, Java, Smalltalk, etc) wydają się być “bardziej obiektowe”.


Program przedmiotu

  • laboratorium: 30 godzin w semestrze

Tematyka laboratorium

1. Klasy i obiekty w C++

  • definicja klasy

  • definiowanie i używanie zmiennej obiektowej

  • funkcje składowe (metody)

  • konstruktor i destruktor

  • przeładowanie metod

  • operatory składowe

  • przydatne klasy: string, istream, ostream

  • składniki statyczne

  • składniki stałe const

  • konwersje typów

2. Dziedziczenie

  • istota dziedziczenia

  • co nie jest dziedziczone

  • dziedziczenie kilkupokoleniowe

  • dziedziczenie wielobazowe

  • dziedziczenie kontra zawieranie obiektów składowych

  • konwersje standardowe przy dziedziczeniu

  • rzutowanie i dynamiczna identyfikacja typów (RTTI)

3. Funkcje wirtualne (polimorfizm)

  • motywacja: funkcje wirtualne a unikanie if...then...else

  • klasy abstrakcyjne

  • wirtualny destruktor

  • wirtualny konstruktor (niezgodne z regułami języka, ale reguły można obejść)

4. Szablony klas

  • motywacja: klasa vektor<T>

  • szablony klas i funkcji

  • szablony a dziedziczenie

  • parametry szablonów

5. Biblioteka Standardowa C++
 


Warunki zaliczenia

  • Zaliczenie na ocenę pozytywną laboratorium (warunki podaje prowadzący na zajęciach)

Literatura

  1. J. Grębosz, Symfonia C++ .

Linki


Skok do początku strony