Implementacja asocjacji

Slides:



Advertisements
Podobne prezentacje
C++ wykład 2 ( ) Klasy i obiekty.
Advertisements

Związki w UML.
Projektowanie bazy danych
Wzorce.
Projektowanie systemów informacyjnych
Agregacja Agregacja jest rodzajem asocjacji; zadaniem agregacji jest modelowanie związku całość-część. agregacja jest asocjacją: dla obu jej końców są.
Static, const, volatile.
Dziedziczenie. Po co nam dziedziczenie? class osoba { char * imie, char * imie, * nazwisko; * nazwisko;public: void wypisz_imie(); void wypisz_imie();
Projektowanie systemów informacyjnych
Sposoby implementacji asocjacji
Sposoby obejścia dziedziczenia
Kamil Łącki Dominik Strzelichowski
Implementacja ekstensji klasy
Tomasz Pieciukiewicz Rafał Hryniów
OOPC++ - wstêp, klasy1 Klasy Do struktury można dołączyć operacje działające na jej polach. struct date { int day, month, year; void set (int d, int m,
Bartosz Walter Prowadzący: Bartosz Walter
08: ERD – podencje, łuki i pułapki
Podstawy informatyki Rekurencja i rekurencja Grupa: 1A
C++ wykład 2 ( ) Klasy i obiekty.
Zasady zaliczenia Warunki uzyskania zaliczenia:
Projektowanie systemów informacyjnych
Projektowanie systemów informacyjnych
Diagramy klas w języku UML
Modele baz danych - spojrzenie na poziom fizyczny
Hibernate relacje.
Projektowanie - klasy i związki
Diagramy ER (Entity-relationship diagrams)
SQL – Structured Query Language (3)
Podstawy programowania II
Podstawy programowania
Podstawy programowania II
PIO 3_2, Zofia Kruczkiewicz1 Wykład 3 – część druga Iteracyjno-rozwojowy cykl oprogramowania 3.
OMT - Model obiektów, cz.1.
JAVA c.d.. Instrukcji wyboru SWITCH używamy, jeśli chcemy w zależności od wartości pewnego wyrażenia wykonać jeden z kilku fragmentów kodu. Jest to w.
Java – coś na temat Klas Piotr Rosik
Programowanie obiektowe Wykład 7 dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/20 Dariusz Wardowski.
Związki w UML Do zrobienia jest: -Przerysować jak ktoś ma Visio te dwa diagramy tak żeby podmienić tylko nazwy a reszta Taka sama, -I dodać po jednym zdaniu.
Wybrane zagadnienia relacyjnych baz danych
Związki Agregacje Związki n-arne Ograniczenia.
Programowanie obiektowe – język C++
Programowanie obiektowe 2013/2014
ZWIĄZKI MIĘDZY KLASAMI KLASY ABSTRAKCYJNE OGRANICZENIA INTERFEJSY SZABLONY safa Michał Telus.
Programowanie sieciowe w Javie
Kurs języka C++ – wykład 3 ( )
Modelowanie obiektowe Diagramy klas
UML W V ISUAL S TUDIO Mateusz Lamparski. UML D EFINICJA Unified Modeling Language (UML) to graficzny język do obrazowania, specyfikowania, tworzenia i.
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Programowanie strukturalne i obiektowe C++
Model obiektowy bazy danych
Diagram klas Kluczowymi elementami są: klasy (class)
Rodzaje pamięci komputerowej
Programowanie sieciowe w Javie Michał Kuciapski
PIO 3_2, Zofia Kruczkiewicz1 Wykład 3 – część druga Iteracyjno-rozwojowy cykl oprogramowania 3.
Unified Modeling Language
Modelowanie model związków encji
Wstęp do systemów informatycznych Diagramy klas. Odbiór świata  Myślenie o dziedzinie problemu powinno być możliwie zbliżone do myślenia o systemie 
Kolekcje (3) Zbiory. Porównywanie i porządkowanie elementów kolekcji. (c) Krzysztof Barteczko 2014.
Wykład 5 Model obiektowy (3)
Asocjacja,Kompozycja,Agregacja
Implementacja asocjacji (z atrybutami i bez) przy użyciu: referencji (kolekcji referencji) tablic asocjacyjnych przygotował: Kamil Kowalczyk.
K URS JĘZYKA C++ – WYKŁAD 3 ( ) Przenoszenie Składowe statyczne Funkcje wbudowane Argumenty domyślne.
C++ mgr inż. Tomasz Turba Politechnika Opolska 2016.
Projektowanie systemów informacyjnych
Programowanie Obiektowe – Wykład 6
Typy wyliczeniowe, kolekcje
Projektowanie systemów informacyjnych
Wprowadzenie do programowania obiektowego
PGO - Projektowanie i implementacja pierwszych klas
PGO Porównywanie obiektów
Zapis prezentacji:

Implementacja asocjacji Jarek Gadomski Kuba Morkis

Zagadnienia Asocjacja binarna Atrybuty i klasy asocjacji Asocjacja kwalifikowana Asocjacja n-arna Agregacje i kompozycje

Asocjacja binarna (2-arna) Asocjacja - związek obrazujący relację zachodzącą między dwoma lub więcej klasami. Asocjacja binarna – najprostsza i najczęściej spotykana forma asocjacji Firma Osoba pracuje_dla 1..* 1

Implementacja Implementacja asocjacji binarnych odbywa się poprzez wybranie jednej z dwóch klas i przechowywanie w niej referencji do drugiej klasy. Przykład: class Firma { String nazwa; Osoba[] pracownicy; } class Osoba { String imie; String nazwisko;

Atrybuty i klasy asocjacji Stosuje się w celu pokazania dodatkowych atrybutów i właściwości asocjacji. Plik Użytkownik Uprawnienia dostęp dostępny dla * Pracownik nazwisko pesel adres Firma nazwa zarobek stanowisko zatrudnia 1 1..*

Implementacja W przypadku asocjacji wiele do wiele klasę asocjacji zamieniamy na zwykłą klasę. W innych przypadkach istnieje możliwość przeniesienia atrybutów asocjacji do klas podstawowych.

Implemencja class Pracownik { class Plik { } String nazwisko; class Uzytkownik { class Uprawnienia { int dostep; Plik nazwaPliku; Uzytkownik uzyszkodnik; class Pracownik { String nazwisko; String pesel; String adres; String zarobek; String stanowisko; } class Firma { String nazwa;

Asocjacja kwalifikowana Kwalifikator asocjacji jest atrybutem (lub zestawem atrybutów) klasy, który służy do wybrania podzbioru obiektów danej klasy. Uczelnia Student nr indeksu 1 1..* Uczelnia 1..* 1 Student nr indeksu kwalifikator asocjacji

Implementacja Asocjacje kwalifikowane implementujemy używając tablic asocjacyjnych (np. Hashtable). class Uczelnia { Hashtable studenci; public void dodajStudenta (String nrIndeksu, Student student) { studenci.put (nrIndeksu, student); } public void zlikwidujStudenta (String nrIndeksu) { studenci.remove(nrIndeksu); class Student { String nrIndeksu; String imie; String nazwisko;

Asocjacja n-arna Reprezentuje związek zachodzący pomiędzy n obiektami. Student Sala Wykładowca Zajęcia * Przedmiot Data

Asocjacja n-arna cd.. Asocjacje n-arne przydatne są w przypadku obiektów powiązanych ze sobą licznościami wiele do wiele. Obejście asocjacji n-arnej poprzez dodanie klasy: Student Sala Wykładowca Zajęcia Data Przedmiot sprawdzObecnosc() 1 *

Implementacja Student Sala Wykładowca Zajęcia Przedmiot Data Student * Przedmiot Data class Wykladowca { String imie; String nazwisko; String tytulNaukowy; } class Student { String nrIndeksu; class Sala { int numer; class Zajecia { Date data; String przedmiot; Wykladowca prowadzacy; Student[] studenci; Sala sala; Student Sala Wykładowca Zajęcia Data Przedmiot sprawdzObecnosc() 1 *

Agregacja i kompozycja Agregacje oraz kompozycje służą do przedstawiania zależności typu część – całość. Sieć komputerowa Komputer * AGREGACJA Książka Strony * 1 KOMPOZYCJA

Implementacja Agregacje i kompozycje implementujemy za pomocą kolekcji referencji do obiektów składowych. class Komputer { InetAddress nrIP; } class Siec { String domena; Komputer[] spisKomputerow; Sieć Komputerowa domena Komputer nrIP *

Jarek Gadomski Kuba Morkis KONIEC Jarek Gadomski Kuba Morkis