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.

Wykład 5 Okna MDI i SDI, dziedziczenie

Języki programowania imperatywnego

Technologie i usługi internetowe cz. 2

Zadania z podstaw programowania obiektowego

W powyższym kodzie utworzono wyliczenie dni tygodnia.

Aplikacje w środowisku Java

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

Programowanie obiektowe

TEMAT : KLASY DZIEDZICZENIE

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

Podstawy obiektowości

Laboratorium 1 - Programowanie proceduralne i obiektowe

Egzamin z Podstaw informatyki i programowania 2007/2008

Aplikacje w środowisku Java

Dokumentacja do API Javy.

Mechanizm dziedziczenia

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

Programowanie obiektowe

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

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

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

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

Mechanizm dziedziczenia

Wykład 4: Klasy i Metody

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

Programowanie obiektowe

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

Programowanie w języku Java

Podstawy projektowania systemów komputerowych

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

Podstawy Języka Java

Programowanie komputerowe. Zajęcia 7

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

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

Algorytmy i Struktury Danych. Anna Paszyńska

Klasy i obiekty cz II

Polimorfizm, metody wirtualne i klasy abstrakcyjne

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

Programowanie obiektowe

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

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

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

Dziedziczenie. Zadanie 1

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

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

Programowanie obiektowe

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

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

WebMobile7 and Sello Integrator wersja 1.1.2

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

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

Języki programowania imperatywnego

Programowanie obiektowe

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

Programowanie obiektowe

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.

Enkapsulacja, dziedziczenie, polimorfizm

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

Polimorfizm. dr Jarosław Skaruz

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

Programowanie 3 - Funkcje, pliki i klasy

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

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

Definiowanie własnych klas

Programowanie obiektowe i zdarzeniowe

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

.NET Klasy, obiekty. ciąg dalszy

Projektowanie klas c.d. Projektowanie klas przykład

Dziedziczenie. dr Jarosław Skaruz

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

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

Programowanie obiektowe

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

Diagramy klas. dr Jarosław Skaruz

Aplikacje w środowisku Java

Programowanie w języku Java

Programowanie obiektowe. Materiały przygotował: mgr inż. Wojciech Frohmberg

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

Wprowadzenie do projektu QualitySpy

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

Kurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016

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

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

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

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

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

PHP 5 język obiektowy

Klasy abstrakcyjne, interfejsy i polimorfizm

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ść iloscmiejsc *5,23, d) dodaj zwykłą metodę zwracającą cenę biletu. 2. Stwórz klasę Express 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 Expressie np. Express: ilość miejsc: 24, cena biletu: 72. 3. Stwórz klasę Samolot dziedziczącą z klasy SrodekLokomocji. W klasie Samolot wykonaj następujące czynności: a) dodaj prywatne pole odleglosc typu int, b) przesłoń metodę ObliczCene() następująco: jeśli odleglosc jest większa niż 200 za cenę biletu należy podstawić wartość odleglosc * 6,41; w przeciwnym wypadku należy za cenę biletu podstawić wartość 33. c) dodaj konstruktor parametryczny z dwoma parametrami (oba typu int), parametry należy podstawić odpowiednio do pól iloscmiejsc i odleglosc, 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 samolocie: Samolot: ilość miejsc: 50, odległość: 200, cena biletu: 24. 4. Stwórz dwa interfejsy:

a) IZarzadzaj w nim dodaj deklarację następujących metod (wszystkie typu void): DodajExpress(int iloscmiejsc) DodajSamolot(int iloscmiejsc, int odleglosc) 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ą 200 (dwieście) d) dodaj implementację metod z interfejsów z punktu 5 i podepnij oba interfejsy do klasy Podroz, zasady implementacji: - DodajExpress dodaje obiekt typu Express do listy planpodrozy, dodatkowo powiększa koszt o cenę biletu - DodajSamolot dodaje obiekt typu Pociag do listy planpodrozy, dodatkowo powiększa koszt o cenę biletu - UsunOstatni usuwa ostatni element na liście planpodrozy - Wyczysc usuwa wszystkie elementy ze liście 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 Expressu i Samolotu musi być swobodne/elastyczne tzn. można dodać same expressy, same samoloty 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) + 2 punkt za obsługę możliwych wyjątków przy konwersji typów i usuwaniu z pustej listy + 1 za logikę aplikacji

Przykładowy screeny wpf Przykładowy screen konsola:

Diagramy UML