Biuro Podróży 0. Stwórz projekt aplikacja konsolowa lub WPF (przemyśl wybór, bo zmiana może być czasochłonna). 1. Stwórz abstrakcyjną klasę

Podobne dokumenty
Biuro Podróży 0. Stwórz projekt aplikacja konsolowa lub WPF (przemyśl wybór, bo zmiana może być czasochłonna). 1. Stwórz abstrakcyjną klasę

Przychodnia 0. Stwórz projekt aplikacja konsolowa lub WPF (przemyśl wybór, bo zmiana może być czasochłonna). 1. Stwórz abstrakcyjną klasę Osoba.

Programowanie obiektowe

Programowanie obiektowe

UML a kod w C++ i Javie. Przypadki użycia. Diagramy klas. Klasy użytkowników i wykorzystywane funkcje. Związki pomiędzy przypadkami.

Technologie i usługi internetowe cz. 2

Wykład 5 Okna MDI i SDI, dziedziczenie

Egzamin z Podstaw informatyki i programowania 2007/2008

Języki programowania imperatywnego

Zadania z podstaw programowania obiektowego

W powyższym kodzie utworzono wyliczenie dni tygodnia.

Aplikacje w środowisku Java

Dokumentacja do API Javy.

UML a kod. C++, Java i C#

Programowanie obiektowe

Podstawy obiektowości

Laboratorium 1 - Programowanie proceduralne i obiektowe

Aplikacje w środowisku Java

Mechanizm dziedziczenia

1. Język JAVA. 1. Pierwszy program. 2. Kalkulator. 3. Klasy. 4. Dziedziczenie

TEMAT : KLASY DZIEDZICZENIE

Wykład 4: Klasy i Metody

Obiekt klasy jest definiowany poprzez jej składniki. Składnikami są różne zmienne oraz funkcje. Składniki opisują rzeczywisty stan obiektu.

Operatory cd. Relacyjne: ==!= < > <= >= bool b; int i =10, j =20; dzielenie całkowitych wynik jest całkowity! Łączenie tekstu: + string s = "Ala ma ";

Programowanie obiektowe

Podstawy projektowania systemów komputerowych

Programowanie w Javie 1 Wykład i Ćwiczenia 3 Programowanie obiektowe w Javie cd. Płock, 16 października 2013 r.

Mechanizm dziedziczenia

Programowanie obiektowe

Dziedziczenie. Zadanie 1

Dziedziczenie jednobazowe, poliformizm, tablice wskaźników na obiekty

Informatyka II Laboratorium 3 : Programowania obiektowe C++ - dziedziczenie

Dziedziczenie Dana jest klasa Punkt w pliku o nazwie Punkt.java:

Programowanie w języku Java

Podstawy Języka Java

Aplikacje Internetowe. Najprostsza aplikacja. Komponenty Javy. Podstawy języka Java

Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018

1. Opis ogólny. 2. Opis techniczny. 3. Wymagania techniczne

Kiedy potrzebne. Struktura (rekord) Struktura w języku C# Tablice struktur. struktura, kolekcja

mgr inż. Tomasz Śliwa Rzeszów, Przykładowe zadania na zaliczenie z przedmiotu Informatyka II 2014 r. Grupa 1

Klasy i obiekty cz II

Algorytmy i Struktury Danych. Anna Paszyńska

Kurs programowania. Wykład 2. Wojciech Macyna. 17 marca 2016

Część XVII C++ Funkcje. Funkcja bezargumentowa Najprostszym przypadkiem funkcji jest jej wersja bezargumentowa. Spójrzmy na przykład.

Programowanie obiektowe

Języki i techniki programowania Ćwiczenia 3 Dziedziczenie

Wstęp do programowania obiektowego. WYKŁAD 3 Dziedziczenie Pola i funkcje statyczne Funkcje zaprzyjaźnione, this

Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych

PWSG Ćwiczenia 12. Wszystkie ukończone zadania należy wysłać na adres: lub

Programowanie obiektowe

WebMobile7 and Sello Integrator wersja 1.1.2

KLASA UCZEN Uczen imię, nazwisko, średnia konstruktor konstruktor Ustaw Wyswietl Lepszy Promowany

Opis programu Profbi Delegacje 2011 Delegacje Krajowe.

Języki programowania imperatywnego

C++ - dziedziczenie. C++ - dziedziczenie. C++ - dziedziczenie. C++ - dziedziczenie. C++ - dziedziczenie C++ - DZIEDZICZENIE.

Programowanie obiektowe

Enkapsulacja, dziedziczenie, polimorfizm

Język C++ wykład VII. uzupełnienie notatek: dr Jerzy Białkowski. Programowanie C/C++ Język C++ wykład VII. dr Jarosław Mederski. Spis.

Podstawy algorytmiki i programowania - wykład 4 C-struktury

Polimorfizm. dr Jarosław Skaruz

Podstawy tworzenia aplikacji z wykorzystaniem języka Java ME ćwiczenia 1

Podstawy tworzenia aplikacji z wykorzystaniem języka Java ME ćwiczenia 2

Programowanie 3 - Funkcje, pliki i klasy

Polimorfizm, metody wirtualne i klasy abstrakcyjne

Definiowanie własnych klas

Komputerowe systemy na rynkach finansowych. wykład 5. MQL4 - funkcje operujące na obiektach wykresu

Wprowadzanie danych z klawiatury. Wyjątki związane z wprowadzaniem danych, przekroczeniem rozmiaru tablicy, dzieleniem przez zero itd.

Informatyka I. Dziedziczenie. Nadpisanie metod. Klasy abstrakcyjne. Wskaźnik this. Metody i pola statyczne. dr inż. Andrzej Czerepicki

Programowanie obiektowe i zdarzeniowe

.NET Klasy, obiekty. ciąg dalszy

Diagram klas UML jest statycznym diagramem, przedstawiającym strukturę aplikacji bądź systemu w paradygmacie programowania obiektowego.

Wyjątki. Streszczenie Celem wykładu jest omówienie tematyki wyjątków w Javie. Czas wykładu 45 minut.

Programowanie obiektowe

Projektowanie klas c.d. Projektowanie klas przykład

Dziedziczenie. dr Jarosław Skaruz

KLASA UCZEN Uczen imię, nazwisko, średnia konstruktor konstruktor Ustaw Wyswietl Lepszy Promowany

Podstawy programowania, Poniedziałek , 8-10 Projekt, część 1

Konwersje napis <-> liczba Struktury, unie Scanf / printf Wskaźniki

Język ludzki kod maszynowy

Projekt Hurtownia, realizacja rejestracji dostaw produktów

Budowa aplikacji z graficznym interfejsem użytkownika - GUI (Graphic User Interface)

Instalacja i obsługa aplikacji MAC Diagnoza EW

Programowanie zaawansowane

Wybieramy File->New->Project Wybieramy aplikację MFC->MFC Application jak na rysunku poniżej:

Diagramy klas. dr Jarosław Skaruz

Programowanie w języku Java

0.1 Hierarchia klas Diagram Krótkie wyjaśnienie

WSNHiD, Programowanie 2 Lab. 2 Język Java struktura programu, dziedziczenie, abstrakcja, polimorfizm, interfejsy

Język JAVA podstawy. Wykład 4, część 1. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Java: otwórz okienko. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak

Java: kilka brakujących szczegółów i uniwersalna nadklasa Object

Klasy i obiekty cz I Klasy, obiekty, podstawy używania obiektów

PHP 5 język obiektowy

Programowanie obiektowe

3 Delegacje. 3.1 Tworzenie delegacji. 3.2 Skojarzenie delegacji z procedurą czy funkcją

1 LINQ. Zaawansowane programowanie internetowe Instrukcja nr 1

I. WSTĘP. Przykład 1. Przykład 2. Programowanie czyli tworzenie programów komputerowych (aplikacji komputerowych)

Programowanie obiektowe Wykład 6. Dariusz Wardowski. dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/14

Klasy abstrakcyjne, interfejsy i polimorfizm

Papyrus. Papyrus. Katedra Cybernetyki i Robotyki Politechnika Wrocławska

Transkrypt:

Biuro Podróży 0. Stwórz projekt aplikacja konsolowa lub WPF (przemyśl wybór, bo zmiana może być czasochłonna). 1. Stwórz abstrakcyjną klasę SrodekLokomocji. a) dodaj w niej pola iloscmiejsc (int) oraz cenabiletu(double) z mod. protected b) dodaj konstruktor domyślny (pusty) c) dodaj metodę wirtualną ObliczCene() typu void, bez parametru, która za pole cenabiletu podstawia wartość liczbę całkowitą typu int odpowiadającą aktualnemu dniu miesiąca (np. dziś ma mieć wartość 11, jutro 12), d) dodaj zwykłą metodę zwracającą cenę biletu. 2. Stwórz klasę Autobus dziedziczącą z klasy SrodekLokomocji. W klasie potomnej wykonaj następujące czynności: a) dodaj konstruktor parametryczny z parametrem typu int, parametr ma być podstawiony w pole iloscmiejsc, w konstruktorze należy wywołać metodę ObliczCene() w wersji z klasy bazowej b) przesłoń metodę ToString() tak, aby zwracała informacje o Autobusie np. Autobus: ilość miejsc: 50, cena biletu: 50. 3. Stwórz klasę Pociag dziedziczącą z klasy SrodekLokomocji. W klasie potomnej wykonaj następujące czynności: a) dodaj prywatne pole dlugosctrasy typu int, b) przesłoń metodę ObliczCene() następująco: jeśli długość trasy jest większa niż 100 za cenę biletu należy podstawić wartość dlugosctrasy * 1,43; w przeciwnym wypadku należy podstawić 62. c) dodaj konstruktor parametryczny z dwoma parametrami (oba typu int), parametry należy podstawić odpowiednio do pól iloscmiejsc i dlugosctrasy, w konstruktorze należy również wywołać metodę ObliczCene() w wersji przesłoniętej d) przesłoń metodę ToString() tak, aby zwracała informacje o pociągu: Pociąg: ilość miejsc: 50, długość trasy: 200, cena biletu: 286. 4. Stwórz dwa interfejsy:

a) IZarzadzaj w nim dodaj deklarację następujących metod (wszystkie typu void): DodajAutobus(int iloscmiejsc) DodajPociag(int iloscmiejsc, int dlugosctrasy) UsunOstatni() Wyczysc() b) IData w nim deklarację metod: UstawDate(DateTime data) typ zwracany void SprawdzDate() typ zwracany bool 5. Stwórz klasę Podroz. W tej klasie wykonaj następujące czynności: a) dodaj prywatne pole datapodrozy typu DateTime b) dodaj prywatne pole planpodrozy typu List<SrodekLokomocji> (lista przechowująca środki lokomocji), zadbaj o inicjację pola c) dodaj prywatne pole koszt typu double i nadaj mu wartość początkową 0 (zero) d) dodaj implementację metod z interfejsów z punktu 5 i podepnij oba interfejsy do klasy Podroz, zasady implementacji: - DodajAutobus dodaje obiekt typu Autobus do pola planpodrozy, dodatkowo powiększa koszt o cenę biletu - DodajPociag dodaje obiekt typu Pociag do pola planpodrozy, dodatkowo powiększa koszt o cenę biletu - UsunOstatni usuwa ostatni element na liście planpodrozy - Wyczysc usuwa wszystkie elementy z listy planpodrozy - UstawDate ustawia pobrany parametr jako pole datapodrozy - SprawdzDate zwraca true kiedy wartość pola datapodrozy jest większa niż aktualna data pobrana z systemu (można wykorzystać normalny porządek < w klasie DateTime); w przeciwnym wypadku zwraca false e) przesłoń metodę ToString() tak, aby zwracała w kolejnych wierszach informacje o elementach na liście planpodrozy 6. Stwórz aplikację WPF lub konsolową do testowania powyższych metod.

Logika aplikacji: - należy wykorzystać metody i klasy stworzone w punktach 1-5 - dodawanie do planu podroży Autobusu i Pociągu musi być swobodne/elastyczne tzn. można dodać same autobusy, same pociągi lub na przemian w dowolnej kolejności - przed dodaniem na listę (planpodrozy) należy upewnić się, że parametry liczbowe są liczbami dodatnimi wskazanego typu - przy ustawieniu daty podróży należy użytkownikowi przekazać informację na temat wpisywanego formatu daty (np. dd.mm.yyyy lub yyyy/mm/dd, itp.) i aplikacja ma obsłużyć możliwe wyjątki przy zmianie typu string na DateTime - opcjonalnie użytkownik może wpisać sam dzień (i wtedy domyślnie za czas podstawi się północ) lub użytkownik może podać i datę i godzinę podróży - sprawdzenie daty podroży ma wyświetlić komunikat np. MessageBoxa lub info na konsoli Punktacja Polecenia 1-4 po 1 pkt każde. Polecenie 5 2pkt Polecenie 6 +1 pkt za poprawne działanie kontrolek (tylko dla WPF) +1 pkt za poprawny algorytm aplikacji przechodzenia po menu (tylko konsola) + 1 punkt za obsługę możliwych wyjątków przy zmianie typów i usuwaniu elementów z pustej listy + 2 za logikę aplikacji

Przykładowy screeny wpf Przykładowy screen konsola:

Diagramy UML