Wymagania odnośnie programu zaliczeniowego
Dowolny, nieegzotyczny język programowania obiektowego (sugerowane: C++, Java, C#, TypeScript). W programie mają wystąpić:
- Klasy z polami prywatnymi, akcesorami (setter, getter), konstruktory (domyślny, ogólny).
- Dziedziczenie i związki całość-część (kompozycja i/lub agregacja), proszę zwrócić uwagę na aktywowanie konstruktorów klas bazowych oraz obiektów częściowych.
- Klasa abstrakcyjna (interfejs), polimorfizm.
Przykłady
Program obliczania pól figur płaskich — metamorfoza. Od wersji „przedszkolnej” ku wersji SOLID, Java, projekt NetBeans, w środku 3 pakiety, każdy zawiera jedną z wersji programu.
Materiały wykładowe
- Wprowadzenie do koncepcji obiektowości w projektowaniu i programowaniu — strukturalnie vs. obiektowo, przykład, abstrakcja, hermetyzacja, dziedziczenie (pdf).
- Polimorfizm i jego reprezentacja w wybranych językach obiektowych — dyskusja i przykłady: C++, C#, Java (pdf).
- Wprowadzenie do klas abstrakcyjnych i interfejsów— dyskusja i przykłady: C++, C#, Java (pdf).
- Proste wzorce projektowe — fasada, adapter obiektowy i klasowy, implementacje: C++, C#, Java (pdf).
Materiały do ćwiczeń
Ćwiczenie 1
Niżej dostępne są kody źródłowe programu wyznaczającego średnie zużycie paliwa na 100 km dla jakiegoś pojazdu. Wartość ta zostaje wyznaczona na podstawie przejechanego dystansu i ilości paliwa zużytego na tym dystansie. Dostępne są implementacje programiku (spakowany folder projektowy, zip):
- C++ i VCL, Borland C++ Builder 6.0
- C++ i QT, QtCreator
- C# i Windows Forms, Visual Studio 2013
- C# i WPF, Visual Studio 2017
Proszę pobrać kody projektów i wprowadzić następujące modyfikacje:
- Po wyliczeniu średniego spalania, program ma wyświetlić również koszt przejechania jednego kilometra.
- Użytkownik ma możliwość wybory rodzaju paliwa — benzyna, olej napędowy, gaz, wybór z wykorzystaniem komponentów „radio button”.
- Dla każdego rodzaju paliwa powinna być zdefiniowana indywidualna cena za litr, brana pod uwagę przy wyznaczaniu kosztu przejazdu jednego kilometra.
- Ceny za litr paliwa powinny być wczytywane na starcie programu z pliku tekstowego o formacie:
ET 4.5 ON 4.3 LPG 2.5
Można wprowadzić w programie możliwość edycji cen w osobnym oknie.
Proszę przemyśleć możliwość definiowania w programie obiektu realizującego obliczenia spalania i kosztów przejazdu jednego kilometra, przechowującego ceny paliw i obsługującego ich ustalanie/wczytywanie. Umożliwi to oddzielenie warstwy widoku (interfejs użytkownika) od warstwy „biznesowej”. Dla języka C++ proszę spróbować zdefiniować odpowiednią klasę tak, aby byłe przenośna pomiędzy środowiskiem VCL/Builder a Qt/QtCreator.
Zrealizowane projekty proszę zachować, będą brane pod uwagę przy negocjowaniu oceny zaliczeniowej.