Projektowanie obiektowe. dr Jarosław Skaruz

Wielkość: px
Rozpocząć pokaz od strony:

Download "Projektowanie obiektowe. dr Jarosław Skaruz"

Transkrypt

1 Projektowanie obiektowe dr Jarosław Skaruz

2 Zadanie Na terenie Siedlec funkcjonuje piekarnia Klawisz, która dostarcza swoje produkty do sklepów spożywczych. Każdy sklep identyfikowany jest przez nazwę i adres. Piekarnia zatrudnia kilkunastu sprzedawców (imię i nazwisko) odpowiedzialnych za dostarczanie różnych towarów do sklepów. Każdy ze sprzedawców ma przydzielony wydzielony obszar miasta (nazwa), na który dostarcza towar. Sklep może złożyć zamówienie na różne towary u sprzedawcy, który obsługuje obszar miasta, na którym funkcjonuje dany sprzedawca. Napisz aplikację która umożliwi: 1. Zdefiniowanie obszarów miasta 2. Dodanie sklepu i przypisanie go do obszaru miasta 3. Dodanie sprzedawcy i przypisanie go do obszaru miasta 4. Zapisanie w aplikacji nowego zamówienia na różne towary 5. Wypisanie wartości wszystkich zamówień dla sklepu oraz dla sprzedawcy

3 Projekt aplikacji class Class Model Logika Obszar - nazwa :String Sklep - nazwa :String - ulica :String - lokal :String Sprzedaw ca - imie :String - nazwisko :String Zamow ienie 1 Towar 1..* - nazwa :String - cena :double Dane ListaSprzedaw cow - sprzedawcy :List:Sprzedawca ListaTow arow - towary :List:Towar ListaSklepow - sklepy :List:Sklep ListaZamow ien - zamowienia :List:Zamowienie ListaObszarow - obszary :List:Obszar

4 public class Obszar { private String nazwa; public Obszar(String nazwa) { this.nazwa = nazwa; public String getnazwa() { return nazwa; public void setnazwa(string nazwa) { this.nazwa = nazwa;

5 public class Towar { private String nazwa; private double cena; public Towar(String nazwa, double cena) { this.nazwa = nazwa; this.cena = cena; public String getnazwa() { return nazwa; public void setnazwa(string nazwa) { this.nazwa = nazwa; public double getcena() { return cena; public void setcena(double cena) { this.cena = cena;

6 public class Sklep { private Obszar obszar; private String nazwa; private String ulica; private String lokal; public Sklep(Obszar obszar, String nazwa, String ulica, String lokal) { this.obszar = obszar; this.nazwa = nazwa; this.ulica = ulica; this.lokal = lokal; public Obszar getobszar() { return obszar; public String getnazwa() { return nazwa; public String getulica() { return ulica; public String getlokal() { return lokal;

7 public class Sprzedawca { private String imie; private String nazwisko; private Obszar obszar; public Sprzedawca(String imie, String nazwisko, Obszar obszar) { this.imie = imie; this.nazwisko = nazwisko; this.obszar = obszar; public String getimie() { return imie; public String getnazwisko() { return nazwisko; public Obszar getobszar() { return obszar;

8 public class Zamowienie { private Sklep sklep; private List<Towar> towary; private Sprzedawca sprzedawca; public Zamowienie(Sklep sklep, Sprzedawca sprzedawca) { this.sklep = sklep; this.sprzedawca = sprzedawca; towary = new ArrayList<Towar>(); public void dodajtowar(towar towar) { this.towary.add(towar); public double zwrocwartosczamowienia() { double wynik = 0.0; for (Towar t : towary) { wynik = wynik + t.getcena(); return wynik; public Sklep getsklep() { return sklep; public List gettowary() { return towary; public Sprzedawca getsprzedawca() { return sprzedawca;

9 public class ListaTowarow { private List<Towar> towary; public ListaTowarow() { towary = new ArrayList<Towar>(); public void dodaj(towar towar) { this.towary.add(towar); public Towar zwroctowar(string nazwa) { Towar towar = null; for (Towar t : towary) { if (t.getnazwa().equals(nazwa)) { towar = t; return towar;

10 public class ListaZamowien { private List<Zamowienie> zamowienia; public ListaZamowien() { zamowienia = new ArrayList<Zamowienie>(); public void dodaj(zamowienie zamowienie) { this.zamowienia.add(zamowienie); public double zwrocwartoscdlasklepu(string nazwasklepu) { double wartosc = 0.0; for (Zamowienie t : zamowienia) { if (t.getsklep().getnazwa().equals(nazwasklepu)) { wartosc = wartosc + t.zwrocwartosczamowienia(); return wartosc; public double zwrocwartoscdlasprzedawcy(string nazwisko) { double wartosc = 0.0; for (Zamowienie t : zamowienia) { if (t.getsprzedawca().getnazwisko().equals(nazwisko)) { zamowienie = t.zwrocwartosczamowienia(); return wartosc;

Metody Metody, parametry, zwracanie wartości

Metody Metody, parametry, zwracanie wartości Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Metody Metody, parametry, zwracanie wartości Metody - co to jest i po co? Metoda to wydzielona część klasy, mająca

Bardziej szczegółowo

Instrukcja 2 Laboratorium z Podstaw Inżynierii Oprogramowania

Instrukcja 2 Laboratorium z Podstaw Inżynierii Oprogramowania Instrukcja 2 Laboratorium z Podstaw Inżynierii Oprogramowania Opis biznesowy świata rzeczywistego Wymagania funkcjonalne i niefunkcjonalne aplikacji Diagram przypadków życia Diagramy klas i sekwencji:

Bardziej szczegółowo

Laboratorium z przedmiotu: Inżynieria Oprogramowania INP

Laboratorium z przedmiotu: Inżynieria Oprogramowania INP Laboratoria 5-7- część 1 Identyfikacja klas reprezentujących logikę biznesową projektowanego oprogramowania, definicja atrybutów i operacji klas oraz związków między klasami - na podstawie analizy scenariuszy

Bardziej szczegółowo

Metody dostępu do danych

Metody dostępu do danych Metody dostępu do danych dr inż. Grzegorz Michalski Na podstawie materiałów dra inż. Juliusza Mikody Jak działa JDO Podstawowym zadaniem JDO jest umożliwienie aplikacjom Javy transparentnego umieszczenia

Bardziej szczegółowo

Instrukcja 3 Laboratorium z Podstaw Inżynierii Oprogramowania

Instrukcja 3 Laboratorium z Podstaw Inżynierii Oprogramowania Instrukcja 3 Laboratorium z Podstaw Inżynierii Oprogramowania Diagramy klas i sekwencji: Relacja 1 do 0..* między klasami modelu obiektowego Cele laboratorium 3 Dokończyć 1-y etap z lab2. 2-i etap projektu.

Bardziej szczegółowo

Podstawy i języki programowania

Podstawy i języki programowania Podstawy i języki programowania Laboratorium 7 - wprowadzenie do metod mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 27 listopada 2017 1 / 15 mgr inż. Krzysztof Szwarc Podstawy i języki

Bardziej szczegółowo

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

Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych Obiekty reprezentują pewne pojęcia, przedmioty, elementy rzeczywistości. Obiekty udostępniają swoje usługi: metody operacje,

Bardziej szczegółowo

Bazy danych dla producenta mebli tapicerowanych. Bartosz Janiak Marcin Sikora Wrocław 9.06.2015 r.

Bazy danych dla producenta mebli tapicerowanych. Bartosz Janiak Marcin Sikora Wrocław 9.06.2015 r. Bazy danych dla producenta mebli tapicerowanych Bartosz Janiak Marcin Sikora Wrocław 9.06.2015 r. Założenia Stworzyć system bazodanowy dla małej firmy produkującej meble tapicerowane. Projekt ma umożliwić

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Wykład 11: Serializacja obiektów 5/19/2013 S.Deniziak:Programowanie obiektowe 1 Problem składowania/przesyłania danych Strumienie Tylko typy proste Konieczność ręcznego odtwarzania

Bardziej szczegółowo

Iteracyjno-rozwojowy cykl oprogramowania cykl 2. Java Zofia Kruczkiewicz 1

Iteracyjno-rozwojowy cykl oprogramowania cykl 2. Java Zofia Kruczkiewicz 1 Iteracyjno-rozwojowy cykl oprogramowania cykl 2 Java Zofia Kruczkiewicz 1 Kod klasy Uchwyt Java Zofia Kruczkiewicz 2 package katalog1; public class Uchwyt { private Tytul_ksiazki mtytul_ksiazki; public

Bardziej szczegółowo

Podstawy programowania obiektowego

Podstawy programowania obiektowego Podstaw programowania obiektowego wkład 5 klas i obiekt namespace ConsoleApplication1 // współrzędne punktu int, ; Jak, korzstając z dotchczasowej wiedz, zdefiniować w programie punkt? = 3; = 2; Może tak?

Bardziej szczegółowo

Programowanie obiektowe i zdarzeniowe

Programowanie obiektowe i zdarzeniowe Programowanie obiektowe i zdarzeniowe wkład 2 klas i obiekt namespace ConsoleApplication1 // współrzędne punktu int, ; Jak zdefiniować w programie punkt? = 3; = 2; Może tak? // wpisanie informacji Console.WriteLine("

Bardziej szczegółowo

TEMAT : KLASY POLIMORFIZM

TEMAT : KLASY POLIMORFIZM TEMAT : KLASY POLIMORFIZM 1. Wprowadzenie do polimorfizmu i funkcji wirtualnych w języku C++ Język C++ zakłada, że w pewnych przypadkach uzasadnione jest tworzenie klas, których reprezentanci w programie

Bardziej szczegółowo

Java: interfejsy i klasy wewnętrzne

Java: interfejsy i klasy wewnętrzne Java: interfejsy i klasy wewnętrzne Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak 1 INTERFEJSY Interfejs to opis co klasa implementująca dany interfejs powinna robić, ale bez określania

Bardziej szczegółowo

Programowanie i struktury danych

Programowanie i struktury danych Programowanie i struktury danych 1 / 19 Dynamiczne struktury danych Dynamiczną strukturą danych nazywamy taka strukturę danych, której rozmiar, a więc liczba przechowywanych w niej danych, może się dowolnie

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Wykład 2: Wstęp do języka Java 3/4/2013 S.Deniziak: Programowanie obiektowe - Java 1 Cechy języka Java Wszystko jest obiektem Nie ma zmiennych globalnych Nie ma funkcji globalnych

Bardziej szczegółowo

Budowa aplikacji wielowarstwowych. Zastosowanie szablonów, tabel oraz plików typu properties

Budowa aplikacji wielowarstwowych. Zastosowanie szablonów, tabel oraz plików typu properties Budowa aplikacji wielowarstwowych. Zastosowanie szablonów, tabel oraz plików typu properties Laboratorium 3 Technologie internetowe Zofia Kruczkiewicz 1 Wykaz pytań dotyczących materiału wykorzystanego

Bardziej szczegółowo

Laboratorium z przedmiotu: Inżynieria Oprogramowania INEK Instrukcja 5

Laboratorium z przedmiotu: Inżynieria Oprogramowania INEK Instrukcja 5 Instrukcja 5 Laboratorium 7 Identyfikacja klas reprezentujących logikę biznesową projektowanego oprogramowania, definicja atrybutów i operacji klas oraz związków między klasami - na podstawie analizy scenariuszy

Bardziej szczegółowo

Programowanie i projektowanie obiektowe

Programowanie i projektowanie obiektowe Programowanie i projektowanie obiektowe Klasy i obiekty Paweł Daniluk Wydział Fizyki Jesień 2011 P. Daniluk (Wydział Fizyki) PO w. V Jesień 2011 1 / 13 Typy danych (w Javie) Typy pierwotne typ wartości

Bardziej szczegółowo

Klasy i obiekty cz II

Klasy i obiekty cz II Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Klasy i obiekty cz II Hermetyzacja, mutatory, akcesory, ArrayList Rozwijamy aplikację Chcemy, aby obiekty klasy

Bardziej szczegółowo

class Student Deklaracja klasy Osoba: Deklaracja klasy Student:

class Student Deklaracja klasy Osoba: Deklaracja klasy Student: Osoba Student Będziemy mieli 2 klasy: Osoba, dla której zapamiętamy dane takie jak: imie, nazwisko i wiek Oraz klasę Student, w której będziemy też dodatkowo pamiętać kierunek studiów. Deklaracja klasy

Bardziej szczegółowo

Programowanie Obiektowe Ćwiczenie 4

Programowanie Obiektowe Ćwiczenie 4 Programowanie Obiektowe Ćwiczenie 4 1. Zakres ćwiczenia wyjątki kompozycja 2. Zagadnienia Założeniem, od którego nie należy odbiegać, jest by każdy napotkany problem (np. zatrzymanie wykonywanej metody)

Bardziej szczegółowo

Tworzenie aplikacji w języku Java

Tworzenie aplikacji w języku Java Tworzenie aplikacji w języku Java Wykład 2 Java Collections Framework Piotr Czapiewski Wydział Informatyki ZUT 2 października 2009 Piotr Czapiewski (Wydział Informatyki ZUT) Tworzenie aplikacji w języku

Bardziej szczegółowo

Programowanie w języku Java. Bazy danych SQLite w Javie

Programowanie w języku Java. Bazy danych SQLite w Javie Programowanie w języku Java Bazy danych SQLite w Javie Co to jest SQLite SQLite to bezserwerowa, nie wymagająca konfiguracji relacyjna baza danych. Znajduje szerokie zastosowanie np.. w systemie android

Bardziej szczegółowo

Hibernate mapowanie baz danych

Hibernate mapowanie baz danych Hibernate mapowanie baz danych Jest to technologia pozwalająca mapować dane obiektowe na odpowiadające im struktury w bazach danych. ORM - Object-to-Relational Mapping. Jest odpowiedzią na znikomą ilość

Bardziej szczegółowo

Klasa bazowa i klasy potomne - doskonalenie umiejtnoci projektowania i wykorzystania klas (45 min)

Klasa bazowa i klasy potomne - doskonalenie umiejtnoci projektowania i wykorzystania klas (45 min) Zadanie5_28 Klasa bazowa i klasy potomne - doskonalenie umiejtnoci projektowania i wykorzystania klas (45 min) Opis zadania Wykorzystaj gotowy projekt Nowe auto, a nastpnie zaprojektuj klas bazow NoweAuto

Bardziej szczegółowo

Lista dwukierunkowa - przykład implementacji destruktorów

Lista dwukierunkowa - przykład implementacji destruktorów Lista dwukierunkowa - przykład implementacji destruktorów Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2006 2008 Bogdan Kreczmer Niniejszy dokument zawiera

Bardziej szczegółowo

Tablice i łańcuchy znakowe jako obiektowe typy danych. dr Jarosław Skaruz

Tablice i łańcuchy znakowe jako obiektowe typy danych. dr Jarosław Skaruz Tablice i łańcuchy znakowe jako obiektowe typy danych dr Jarosław Skaruz http://jareks.ii.uph.edu.pl jaroslaw@skaruz.com O czym będzie? Klasy String, StringBuffer, StringBuilder Tablice jednowymiarowe

Bardziej szczegółowo

0.1 Hierarchia klas. 0.1.1 Diagram. 0.1.2 Krótkie wyjaśnienie

0.1 Hierarchia klas. 0.1.1 Diagram. 0.1.2 Krótkie wyjaśnienie 0.1 Hierarchia klas 0.1.1 Diagram 0.1.2 Krótkie wyjaśnienie Po pierwsze to jest tylko przykładowe rozwiązanie. Zarówno na wtorkowych i czwartkowych ćwiczeniach odbiegaliśmy od niego, ale nie wiele. Na

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Podstawowe cechy i możliwości języka Scala mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 2017 1 / 32 mgr inż. Krzysztof Szwarc Programowanie obiektowe Informacje

Bardziej szczegółowo

Algorytmy i język C++

Algorytmy i język C++ Wykład 6 Wskaźniki Wskaźnik nie przechowuje wartości zmiennej ale, podobnie jak tablica, wskazuje miejsce w pamięci, w którym znajduje się zmienna danego typu. W poniższym przykładzie symbol * pomiędzy

Bardziej szczegółowo

Rozdział 4 KLASY, OBIEKTY, METODY

Rozdział 4 KLASY, OBIEKTY, METODY Rozdział 4 KLASY, OBIEKTY, METODY Java jest językiem w pełni zorientowanym obiektowo. Wszystkie elementy opisujące dane, za wyjątkiem zmiennych prostych są obiektami. Sam program też jest obiektem pewnej

Bardziej szczegółowo

Diagram stanów Laboratorium 9

Diagram stanów Laboratorium 9 Diagram stanów Laboratorium 9 Zofia Kruczkiewicz Zofia Kruczkiewicz lab_inp002017_9 1 Modelowanie zachowania obiektu za pomocą diagramu stanów. Opracowanie diagramu stanów dla obiektu wybranej klasy, reprezentującego

Bardziej szczegółowo

Kompozycja i dziedziczenie klas

Kompozycja i dziedziczenie klas Związki między klasami: jest i zawiera Programowanie obiektowe Przkład: Pojazd Kompozycja i dziedziczenie klas Silnik Pojazd silnikowy Rower Wóz konny Paweł Rogaliński Instytut Informatyki, Automatyki

Bardziej szczegółowo

Bazy danych SQLite w Javie

Bazy danych SQLite w Javie Bazy danych SQLite w Javie Wprowadzenie Pisząc coraz to bardziej złożone aplikacje często problemem staje się to, że nasze dane chcielibyśmy przechowywać w nieco bardziej elastyczny sposób, niż tylko w

Bardziej szczegółowo

Projektowanie obiektowe oprogramowania Wykład 7 wzorce czynnościowe (2) Wiktor Zychla 2018

Projektowanie obiektowe oprogramowania Wykład 7 wzorce czynnościowe (2) Wiktor Zychla 2018 Projektowanie obiektowe oprogramowania Wykład 7 wzorce czynnościowe (2) Wiktor Zychla 2018 1 Mediator Motto: Koordynator współpracy ściśle określonej grupy obiektów dzięki niemu one nie odwołują się do

Bardziej szczegółowo

Programowanie obiektowe i zdarzeniowe

Programowanie obiektowe i zdarzeniowe Marek Tabędzki Programowanie obiektowe i zdarzeniowe 1/23 Programowanie obiektowe i zdarzeniowe wykład 6 polimorfizm Na poprzednim wykładzie: dziedziczenie jest sposobem na utworzenie nowej klasy na podstawie

Bardziej szczegółowo

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

KLASA UCZEN Uczen imię, nazwisko, średnia konstruktor konstruktor Ustaw Wyswietl Lepszy Promowany KLASA UCZEN Napisz deklarację klasy Uczen, w której przechowujemy następujące informacje o uczniu: imię, nazwisko, średnia (pola prywatne), poza tym klasa zawiera metody: konstruktor bezparametrowy (nie

Bardziej szczegółowo

Kompozycja i dziedziczenie klas

Kompozycja i dziedziczenie klas Programowanie obiektowe Kompozycja i dziedziczenie klas Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski pwr.wroc.pl Kompozycja i dziedziczenie klas

Bardziej szczegółowo

Programowanie obiektowe i zdarzeniowe

Programowanie obiektowe i zdarzeniowe Marek Tabędzki Programowanie obiektowe i zdarzeniowe 1/22 Programowanie obiektowe i zdarzeniowe wykład 5 dziedziczenie Dziedziczenie jest sposobem na utworzenie nowej klasy na podstawie klasy już istniejącej.

Bardziej szczegółowo

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

KLASA UCZEN Uczen imię, nazwisko, średnia konstruktor konstruktor Ustaw Wyswietl Lepszy Promowany KLASA UCZEN Napisz deklarację klasy Uczen, w której przechowujemy następujące informacje o uczniu: imię, nazwisko, średnia (pola prywatne), poza tym klasa zawiera metody: konstruktor bezparametrowy (nie

Bardziej szczegółowo

Instrukcja 4 Laboratorium z Podstaw Inżynierii Oprogramowania. Warstwa klienta: Interfejs graficzny użytkownika

Instrukcja 4 Laboratorium z Podstaw Inżynierii Oprogramowania. Warstwa klienta: Interfejs graficzny użytkownika Instrukcja 4 Laboratorium z Podstaw Inżynierii Oprogramowania Warstwa klienta: Interfejs graficzny użytkownika Cel laboratorium 4 Należy wykonać interefejs graficzny użytkownika wg p.1 oraz p.2 lub p.3

Bardziej szczegółowo

Platformy Programistyczne Podstawy języka Java

Platformy Programistyczne Podstawy języka Java Platformy Programistyczne Podstawy języka Java Agata Migalska 6 maja 2014 Plan wykładu 1 Sztuka wysławiania się w języku Java 2 Cały świat jest obiektem 3 Kolekcje 4 Zmienne i metody statyczne 5 Słowo

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Laboratorium 3 i 4 - przypomnienie wiadomości o OOP na przykładzie Javy mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 8 marca 2017 1 / 20 mgr inż. Krzysztof Szwarc

Bardziej szczegółowo

Zaawansowane programowanie w języku C++ Programowanie obiektowe

Zaawansowane programowanie w języku C++ Programowanie obiektowe Zaawansowane programowanie w języku C++ Programowanie obiektowe Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka

Bardziej szczegółowo

Polimorfizm, metody wirtualne i klasy abstrakcyjne

Polimorfizm, metody wirtualne i klasy abstrakcyjne Programowanie obiektowe Polimorfizm, metody wirtualne i klasy abstrakcyjne Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski pwr.wroc.pl Polimorfizm,

Bardziej szczegółowo

Polimorfizm. dr Jarosław Skaruz

Polimorfizm. dr Jarosław Skaruz Polimorfizm dr Jarosław Skaruz http://jareks.ii.uph.edu.pl jaroslaw@skaruz.com O czym będzie? finalne składowe klasy abstrakcyjne interfejsy polimorfizm Finalne składowe Domyślnie wszystkie pola i metody

Bardziej szczegółowo

Java. Wykład. Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ

Java. Wykład. Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ Procesy i wątki Proces posiada samodzielne środowisko wykonawcze. Proces posiada własny zestaw podstawowych zasobów w czasie wykonywania; W szczególności, każdy proces ma własną przestrzeń pamięci. W uproszczeniu

Bardziej szczegółowo

Dziedziczenie. dr Jarosław Skaruz

Dziedziczenie. dr Jarosław Skaruz Dziedziczenie dr Jarosław Skaruz http://jareks.ii.uph.edu.pl jaroslaw@skaruz.com Dziedziczenie specjalizacja Dziedziczenie generalizacja Generalizacja-specjalizacja jest takim związkiem pomiędzy klasami,

Bardziej szczegółowo

Wykład 4. Klasa List Kolejki Stosy Słowniki

Wykład 4. Klasa List Kolejki Stosy Słowniki Wykład 4 Klasa List Kolejki Stosy Słowniki Klasa List Poważną niedogodnością tablic jako kolekcji danych jest fakt, że muszą one mieć stały rozmiar. Programista musi wiedzieć z góry ile miejsca powinien

Bardziej szczegółowo

Wykład 4_2 część druga. Iteracyjno-rozwojowy cykl oprogramowania 4

Wykład 4_2 część druga. Iteracyjno-rozwojowy cykl oprogramowania 4 Wykład 4_2 część druga Iteracyjno-rozwojowy cykl oprogramowania 4 I. Przykład pierwszy programu z warstwą klienta (interfejs graficzny użytkownika) i warstwą biznesową dostępną za pomocą metod klasy

Bardziej szczegółowo

2. Tablice. Tablice jednowymiarowe - wektory. Algorytmy i Struktury Danych

2. Tablice. Tablice jednowymiarowe - wektory. Algorytmy i Struktury Danych 2. Tablice Tablica to struktura danych przechowująca elementy jednego typu (jednorodna). Dostęp do poszczególnych elementów składowych jest możliwy za pomocą indeksów. Rozróżniamy następujące typy tablic:

Bardziej szczegółowo

Definiowanie własnych klas

Definiowanie własnych klas Abstrakcja Programowanie obiektowe Definiowanie własnych klas Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej Świat rzeczywisty jest bardzo złoŝony i nie jest moŝliwe

Bardziej szczegółowo

Te atrybuty wewnętrzne są wyrażane za pomocą tzw. metryk, czyli prostych wyrażeń, wiążących pewne elementy programu (projektu, kodu źródłowego itp.).

Te atrybuty wewnętrzne są wyrażane za pomocą tzw. metryk, czyli prostych wyrażeń, wiążących pewne elementy programu (projektu, kodu źródłowego itp.). Wykład 13 Złożoność strukturalna programów, Metryki międzymodułowe 1. Podstawowe definicje Struktura programu to: przedstawienie programu na różnych poziomach abstrakcji rozumiane jako odseparowanie danych

Bardziej szczegółowo

Budowa prostej aplikacji wielowarstwowej

Budowa prostej aplikacji wielowarstwowej Budowa prostej aplikacji wielowarstwowej Laboratorium 1 Technologie internetowe https://docs.oracle.com/javaee/7/javaserver-faces-2-2/vdldocs-facelets/toc.htm Zofia Kruczkiewicz 1 Wykaz pytań dotyczących

Bardziej szczegółowo

Budowa aplikacji wielowarstwowych zastosowanie szablonów. Laboratorium 2 Programowanie komponentowe Zofia Kruczkiewicz

Budowa aplikacji wielowarstwowych zastosowanie szablonów. Laboratorium 2 Programowanie komponentowe Zofia Kruczkiewicz Budowa aplikacji wielowarstwowych zastosowanie szablonów Laboratorium 2 Programowanie komponentowe Zofia Kruczkiewicz Przykład 1 Zastosowanie szablonów Tworzenie kopii projektu typu Web Application o nazwie

Bardziej szczegółowo

Laboratorium 8 Diagramy aktywności

Laboratorium 8 Diagramy aktywności Laboratorium 8 Diagramy aktywności Zofia Kruczkiewicz Zofia Kruczkiewicz Lab_INP002017_8 1 Modelowanie zachowania obiektów za pomocą diagramów aktywności. Modelowanie zachowania obiektów za pomocą diagramów

Bardziej szczegółowo

Laboratorium z przedmiotu: Inżynieria Oprogramowania INEK Instrukcja 5

Laboratorium z przedmiotu: Inżynieria Oprogramowania INEK Instrukcja 5 Instrukcja 5 Laboratorium 7 Identyfikacja klas reprezentujących logikę biznesową projektowanego oprogramowania, definicja atrybutów i operacji klas oraz związków między klasami - na podstawie analizy scenariuszy

Bardziej szczegółowo

Laboratorium 1 - Programowanie proceduralne i obiektowe

Laboratorium 1 - Programowanie proceduralne i obiektowe Laboratorium 1 - Programowanie proceduralne i obiektowe mgr inż. Kajetan Kurus 4 marca 2014 1 Podstawy teoretyczne 1. Programowanie proceduralne (powtórzenie z poprzedniego semestru) (a) Czym się charakteryzuje?

Bardziej szczegółowo

Laboratorium z przedmiotu: Inżynieria Oprogramowania INEK Instrukcja 7

Laboratorium z przedmiotu: Inżynieria Oprogramowania INEK Instrukcja 7 Instrukcja 7 Laboratoria 9, 10 Opracowanie diagramów sekwencji dla wybranych przypadków użycia reprezentujących usługi oprogramowania wynikających również z wykonanych diagramów czynności; definicja operacji

Bardziej szczegółowo

PARADYGMATY PROGRAMOWANIA Wykład 4

PARADYGMATY PROGRAMOWANIA Wykład 4 PARADYGMATY PROGRAMOWANIA Wykład 4 Metody wirtualne i polimorfizm Metoda wirualna - metoda używana w identyczny sposób w całej hierarchii klas. Wybór funkcji, którą należy wykonać po wywołaniu metody wirtualnej

Bardziej szczegółowo

Podejście obiektowe do relacyjnych baz danych Hibernate.

Podejście obiektowe do relacyjnych baz danych Hibernate. Podejście obiektowe do relacyjnych baz danych Hibernate. Plan wykładu Czym jest Hibernate? Jakie są zalety pracy z Hibernate? Jak skonfigurować Hibernate? Jak korzystać z Hibernate? Praktyczne przykłady

Bardziej szczegółowo

Wykład 4: Klasy i Metody

Wykład 4: Klasy i Metody Wykład 4: Klasy i Metody Klasa Podstawa języka. Każde pojęcie które chcemy opisać w języku musi być zawarte w definicji klasy. Klasa definiuje nowy typ danych, których wartościami są obiekty: klasa to

Bardziej szczegółowo

Budowa aplikacji wielowarstwowych. Obsługa zdarzeń

Budowa aplikacji wielowarstwowych. Obsługa zdarzeń Budowa aplikacji wielowarstwowych. Obsługa zdarzeń Laboratorium 6 Technologie internetowe Zofia Kruczkiewicz TINT_Lab_6, Zofia Kruczkiewicz 1 Wykaz pytań dotyczących materiału wykorzystanego w lab6, które

Bardziej szczegółowo

Języki i metody programowania Java. Wykład 2 (część 2)

Języki i metody programowania Java. Wykład 2 (część 2) Języki i metody programowania Java INF302W Wykład 2 (część 2) Autor Dr inż. Zofia Kruczkiewicz 1 Struktura wykładu 1. Identyfikacja danych reprezentowanych przez klasy podczas opracowania koncepcji prostego

Bardziej szczegółowo

11.6 Klasa do obsługi liczb wymiernych

11.6 Klasa do obsługi liczb wymiernych 246 11.6 Klasa do obsługi liczb wymiernych Klasa do obsługi liczb wymiernych, którą teraz zaprojektujemy w celu zilustrowania korzyści wynikających z programowania obiektowego, służy do zgrabnego wykonywania

Bardziej szczegółowo

Kurs programowania. Wykład 13. Wojciech Macyna. 14 czerwiec 2017

Kurs programowania. Wykład 13. Wojciech Macyna. 14 czerwiec 2017 Wykład 13 14 czerwiec 2017 Java vs cpp - podobieństwa Podobny sposób definiowania klas. Występowanie typów podstawowych: boolean, char, byte, short, int, long, float, double. Podobna zasada definiowania

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Wykład 2 Marcin Młotkowski 4 marca 2015 Plan wykładu 1 2 3 4 5 Marcin Młotkowski Programowanie obiektowe 2 / 47 Krótki opis C Obiektowy, z kontrolą typów; automatyczne odśmiecanie;

Bardziej szczegółowo

Instrukcja Wprowadzenie do tworzenia oprogramowania. Relacja 1 do 1..0 instrukcja z lab1

Instrukcja Wprowadzenie do tworzenia oprogramowania. Relacja 1 do 1..0 instrukcja z lab1 Instrukcja Wprowadzenie do tworzenia oprogramowania Relacja 1 do 1..0 instrukcja z lab1 Cele ćwiczenia Należy: wybrać projekt z podanej listy dostępnej za pomocą linku podanego w w laboratorium 1 sformułować

Bardziej szczegółowo

Tworzenie aplikacji w języku Java

Tworzenie aplikacji w języku Java Tworzenie aplikacji w języku Java Wykład 1 Piotr Czapiewski Wydział Informatyki ZUT 2 października 2009 Piotr Czapiewski (Wydział Informatyki ZUT) Tworzenie aplikacji w języku Java 2 października 2009

Bardziej szczegółowo

Podstawy programowania obiektowego

Podstawy programowania obiektowego 1/41 Podstawy programowania obiektowego wykład 5 dziedziczenie i wyjątki Dziedziczenie jest sposobem na utworzenie nowej klasy na podstawie klasy już istniejącej. Dziedziczenie tworzy szczególną (bardziej

Bardziej szczegółowo

Laboratorium z przedmiotu: Inżynieria Oprogramowania INEK Instrukcja 6

Laboratorium z przedmiotu: Inżynieria Oprogramowania INEK Instrukcja 6 Instrukcja 6 Laboratorium 8 Opracowanie diagramów sekwencji dla wybranych przypadków użycia reprezentujących usługi oprogramowania wynikających również z wykonanych diagramów czynności; definicja operacji

Bardziej szczegółowo

Laboratorium 03: Podstawowe konstrukcje w języku Java [2h]

Laboratorium 03: Podstawowe konstrukcje w języku Java [2h] 1. Typy. Java jest językiem programowania z silnym systemem kontroli typów. To oznacza, że każda zmienna, atrybut czy parametr ma zadeklarowany typ. Kompilator wylicza typy wszystkich wyrażeń w programie

Bardziej szczegółowo

Definiowanie własnych klas

Definiowanie własnych klas Programowanie obiektowe Definiowanie własnych klas Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski @ pwr.wroc.pl Definiowanie własnych klas Autor:

Bardziej szczegółowo

Zaawansowane aplikacje WWW - laboratorium

Zaawansowane aplikacje WWW - laboratorium Zaawansowane aplikacje WWW - laboratorium Przetwarzanie XML (część 2) Celem ćwiczenia jest przygotowanie aplikacji, która umożliwi odczyt i przetwarzanie pliku z zawartością XML. Aplikacja, napisana w

Bardziej szczegółowo

Przypomnienie o klasach i obiektach

Przypomnienie o klasach i obiektach Wykład 14 Programowanie obiektowe ciąg dalszy, str 1 Przypomnienie o klasach i obiektach -5 należydo int 314 należy do double false należy do boolean {27, 314,-15 należy do double[] wartość należy do typ

Bardziej szczegółowo

Przewodnik krok po kroku:

Przewodnik krok po kroku: Przewodnik krok po kroku: Aplikacja jest rozbudowywana. Jej podstawą jest: https://msdn.microsoft.com/enus/library/ff921174(v=pandp.40).aspx Do aplikacji dodajemy nowy moduł, który posłuży nam do dodawania

Bardziej szczegółowo

Przykład zastosowania notacji UML dla realizacji zastosowania wzorca Mediator (materiały dla studentów na prawach rękopisu)

Przykład zastosowania notacji UML dla realizacji zastosowania wzorca Mediator (materiały dla studentów na prawach rękopisu) Dr inż. Wojciech Koziński maj 2007 ZS ISEP WE PW Przykład zastosowania notacji UML dla realizacji zastosowania wzorca Mediator (materiały dla studentów na prawach rękopisu) Opis systemu (wzorca Mediator):

Bardziej szczegółowo

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

UML a kod w C++ i Javie. Przypadki użycia. Diagramy klas. Klasy użytkowników i wykorzystywane funkcje. Związki pomiędzy przypadkami. UML a kod w C++ i Javie Projektowanie oprogramowania Dokumentowanie oprogramowania Diagramy przypadków użycia Przewoznik Zarzadzanie pojazdami Optymalizacja Uzytkownik Wydawanie opinii Zarzadzanie uzytkownikami

Bardziej szczegółowo

Aplikacje w środowisku Java

Aplikacje w środowisku Java Aplikacje w środowisku Java Materiały do zajęć laboratoryjnych Klasy i obiekty - dziedziczenie mgr inż. Kamil Zieliński Katolicki Uniwersytet Lubelski Jana Pawła II 2018/2019 W ramach poprzedniego laboratorium

Bardziej szczegółowo

Programowanie i projektowanie obiektowe

Programowanie i projektowanie obiektowe Programowanie i projektowanie obiektowe Przykład symulacji Paweł Daniluk Wydział Fizyki Jesień 2012 P. Daniluk (Wydział Fizyki) PO w. XII Jesień 2012 1 / 18 Symulacja sieci kolejowej A B C Zasady Na torze

Bardziej szczegółowo

Aplikacje w środowisku Java

Aplikacje w środowisku Java Aplikacje w środowisku Java Materiały do zajęć laboratoryjnych Klasy i obiekty - wprowadzenie mgr inż. Kamil Zieliński Katolicki Uniwersytet Lubelski Jana Pawła II 2018/2019 Klasa zbiór pól i metod Obiekt

Bardziej szczegółowo

Proxy (pełnomocnik) Cel: Zastosowanie: Dostarczyć zamiennik pewnego obiektu, pozwalający kontrolować dostęp do niego.

Proxy (pełnomocnik) Cel: Zastosowanie: Dostarczyć zamiennik pewnego obiektu, pozwalający kontrolować dostęp do niego. Proxy (pełnomocnik) Cel: Dostarczyć zamiennik pewnego obiektu, pozwalający kontrolować dostęp do niego. Zastosowanie: Wszędzie tam, gdzie oczekujemy bardziej zaawansowanego odwołania do obiektu, niż zwykły

Bardziej szczegółowo

Języki Programowania. Prowadząca: dr inż. Hanna Zbroszczyk. tel: Konsultacje: piątek:

Języki Programowania. Prowadząca: dr inż. Hanna Zbroszczyk.   tel: Konsultacje: piątek: Języki Programowania Prowadząca: dr inż. Hanna Zbroszczyk e-mail: gos@if.pw.edu.pl tel: +48 22 234 58 51 Konsultacje: piątek: 12.00 13.30 www: http://www.if.pw.edu.pl/~gos/students/jp Politechnika Warszawska

Bardziej szczegółowo

Instrukcja 1 Laboratorium z Podstaw Inżynierii Oprogramowania. Relacja 1 do 1..0 instrukcja z lab1

Instrukcja 1 Laboratorium z Podstaw Inżynierii Oprogramowania. Relacja 1 do 1..0 instrukcja z lab1 Instrukcja 1 Laboratorium z Podstaw Inżynierii Oprogramowania Relacja 1 do 1..0 instrukcja z lab1 Cele laboratorium 1 Należy: wybrać projekt z podanej listy dostępnej za pomocą linku podanego w w laboratorium

Bardziej szczegółowo

Prosta książka telefoniczna z wykorzystaniem zapisu do pliku

Prosta książka telefoniczna z wykorzystaniem zapisu do pliku Prosta książka telefoniczna z wykorzystaniem zapisu do pliku Celem zajęć będzie napisanie prostego programu okienkowego, którego zadaniem będzie zapisywanie imienia, nazwiska, adresu-email oraz numeru

Bardziej szczegółowo

IMIĘ i NAZWISKO: Pytania i (przykładowe) Odpowiedzi

IMIĘ i NAZWISKO: Pytania i (przykładowe) Odpowiedzi IMIĘ i NAZWISKO: Pytania i (przykładowe) Odpowiedzi EGZAMIN PIERWSZY (25 CZERWCA 2013) JĘZYK C++ poprawiam ocenę pozytywną z egzaminu 0 (zakreśl poniżej x) 1. Wśród poniższych wskaż poprawną formę definicji

Bardziej szczegółowo

Metryki. Przykłady pomiaru złożoności modułowej i międzymodułowej oprogramowania. autor: Zofia Kruczkiewicz

Metryki. Przykłady pomiaru złożoności modułowej i międzymodułowej oprogramowania. autor: Zofia Kruczkiewicz Metryki Przykłady pomiaru złożoności modułowej i międzymodułowej oprogramowania autor: Zofia Kruczkiewicz 1 Dodatek Powtórka z metryk ilustrowana wynikami pomiaru realizowanymi przez narzędzia ckjm 1.8,

Bardziej szczegółowo

Wstęp do wiadomości teoretycznych (nie, nie jest to masło maślane ani wstęp, wstępów proszę cierpliwie czytać)

Wstęp do wiadomości teoretycznych (nie, nie jest to masło maślane ani wstęp, wstępów proszę cierpliwie czytać) Języki i Paradygmaty Programowania Laboratorium 1 Obiekty i klasy C++ Wstęp do wiadomości teoretycznych (nie, nie jest to masło maślane ani wstęp, wstępów proszę cierpliwie czytać) UWAGA! Umiejętność tworzenia

Bardziej szczegółowo

Obiektowe programowanie rozproszone Java RMI. Krzysztof Banaś Systemy rozproszone 1

Obiektowe programowanie rozproszone Java RMI. Krzysztof Banaś Systemy rozproszone 1 Obiektowe programowanie rozproszone Java RMI Krzysztof Banaś Systemy rozproszone 1 Java RMI Mechanizm zdalnego wywołania metod Javy (RMI Remote Method Invocation) posiada kilka charakterystycznych cech,

Bardziej szczegółowo

Te atrybuty wewnętrzne są wyraŝane za pomocą tzw. metryk, czyli prostych wyraŝeń, wiąŝących pewne elementy programu (projektu, kodu źródłowego itp.).

Te atrybuty wewnętrzne są wyraŝane za pomocą tzw. metryk, czyli prostych wyraŝeń, wiąŝących pewne elementy programu (projektu, kodu źródłowego itp.). Wykład 13 ZłoŜoność strukturalna programów, metryki Metryki międzymodułowe 1. Podstawowe definicje Struktura programu to: przedstawienie programu na róŝnych poziomach abstrakcji rozumiane jako odseparowanie

Bardziej szczegółowo

PARADYGMATY PROGRAMOWANIA Wykład 3

PARADYGMATY PROGRAMOWANIA Wykład 3 PARADYGMATY PROGRAMOWANIA Wykład 3 Definiowanie operatorów i ich przeciążanie Przykłady zastosowania operatorów: a) operator podstawienia ( = ) obiektów o złożonej strukturze, b) operatory działania na

Bardziej szczegółowo

Podstawy obiektowości

Podstawy obiektowości Podstawy obiektowości Zad. Zamówienie 1. Napisać program do obsługi zamówień. Program powinien składać się z dwóch klas: Zamowienie oraz Pozycja, przy czym każde zamówienie zawierać może jedną lub więcej

Bardziej szczegółowo

Pętle while, for, do while, instrukcje break, continue, switch 1. Pętle

Pętle while, for, do while, instrukcje break, continue, switch 1. Pętle Pętle while, for, while, instrukcje break, continue, switch 1. Pętle Przykład 1 - Pętla while public class lab4_3 public static void main(string[] args) char ch = 'a'; String s, wynik=""; while ( ch!=

Bardziej szczegółowo

Instrukcja 1 Laboratorium z Podstaw Inżynierii Oprogramowania. Relacja 1 do 1..0 instrukcja z lab1

Instrukcja 1 Laboratorium z Podstaw Inżynierii Oprogramowania. Relacja 1 do 1..0 instrukcja z lab1 Instrukcja 1 Laboratorium z Podstaw Inżynierii Oprogramowania Relacja 1 do 1..0 instrukcja z lab1 Cele laboratorium 1 Należy: wybrać projekt z podanej listy dostępnej za pomocą linku podanego w w laboratorium

Bardziej szczegółowo

/** Program demonstrujący działanie klasy GregorianCalendar import java.util.*; public class TestKalendarza // zbuduj d i zainicjalizuj z aktualną datą GregorianCalendar d = new GregorianCalendar(); int

Bardziej szczegółowo

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

Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018 Informatyka I Klasy i obiekty. Podstawy programowania obiektowego dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2018 Plan wykładu Pojęcie klasy Deklaracja klasy Pola i metody klasy

Bardziej szczegółowo

Programowanie w Javie Lista nr 1. Wybieramy kategorię Java, a wśród Projektów Java Application i [NEXT]

Programowanie w Javie Lista nr 1. Wybieramy kategorię Java, a wśród Projektów Java Application i [NEXT] Programowanie w Javie Lista nr 1 1. Jak uruchomić pierwszy program w Javie? Przykład przy wykorzystaniu NetBeans: File->New Project Wybieramy kategorię Java, a wśród Projektów Java Application i [NEXT]

Bardziej szczegółowo

Wstęp. Ale po co? Implementacja

Wstęp. Ale po co? Implementacja Wstęp Mechanizm sesji jest jedną z podstawowych form komunikacji pomiędzy skryptami jako jedyna tablica z super globalnych nie jest widoczna dla użytkownika. Mimo, że PHP od wersji 4 staje się coraz bardziej

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Wykład 4 Marcin Młotkowski 15 marca 2018 Plan wykładu 1 2 3 Klasa podstawowa Własne kolekcje Obiekty i wartości Marcin Młotkowski Programowanie obiektowe 141 / 224 Z czego składa

Bardziej szczegółowo