Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

1 Asocjacja,Kompozycja,Agregacja Autorzy prezentacji: Mirosław Karaś Adam Grzybkowski.

Podobne prezentacje


Prezentacja na temat: "1 Asocjacja,Kompozycja,Agregacja Autorzy prezentacji: Mirosław Karaś Adam Grzybkowski."— Zapis prezentacji:

1 1 Asocjacja,Kompozycja,Agregacja Autorzy prezentacji: Mirosław Karaś Adam Grzybkowski

2 2 Asocjacja Grupa powiązań posiadających wspólną semantykę i strukturę Grupa powiązań posiadających wspólną semantykę i strukturę Oznaczenia klas w UML mogą być połączone liniami oznaczającymi asocjacje, czyli wiązanie między obiektami tych klas Oznaczenia klas w UML mogą być połączone liniami oznaczającymi asocjacje, czyli wiązanie między obiektami tych klas

3 3 Agregacja Agregacja jest szczególnym przypadkiem asocjacji wyrażającym zależność część-całość. Istnienie części jest nie zależne od całości i może być ona skojarzona z wieloma całościami. Agregacja jest szczególnym przypadkiem asocjacji wyrażającym zależność część-całość. Istnienie części jest nie zależne od całości i może być ona skojarzona z wieloma całościami.

4 4 Agregacja Auto marka model silnik Silnik pojemność moc momentObr Jest to szczególny przypadek asocjacji wyrażający zależność część-całość **

5 5 Agregacja – implementacja Java cz. 1 public class Samochod { static Vector samochody = new Vector(); String marka; String model; Silnik silnik; public Samochod(String mar, String mod, Silnik sil){ marka=mar; model=mod; silnik=sil; samochody.add(this); }

6 6 Agregacja – implementacja Java cz. 2 public class Silnik { static Vector silniki = new Vector(); int pojemnosc; int moc; int momentObr; Samochod sam; Public Silnik (int poj, int hp, int moment, Samochod sam).{ pojemnosc = poj; moc = hp; momentObr = moment; silniki.add(this); this.sam = sam; }

7 7 Kompozycja Kompozycja jest szczególnym rodzajem agregacji. Kompozycja oznacza, że cykl życiowy składowej zawiera się w cyklu życiowym całości, oraz że składowa nie może być współdzielona. Nawigacja odbywa się w kierunku od całości do części. Część jest zależna od całości i nie może bez niej istnieć. Kompozycja jest szczególnym rodzajem agregacji. Kompozycja oznacza, że cykl życiowy składowej zawiera się w cyklu życiowym całości, oraz że składowa nie może być współdzielona. Nawigacja odbywa się w kierunku od całości do części. Część jest zależna od całości i nie może bez niej istnieć.

8 8 Kompozycja Auto marka model silnik Silnik pojemność moc momentObr 1 * Jest to specyficzny przypadek agregacji, gdzie część nie może być odseparowana od całości

9 9 Kompozycja – implementacja Java cz. 1 public class Samochod { static Vector samochody = new Vector(); String marka; String model; Silnik silnik; public Samochod(String mar, String mod, Silnik sil){ marka=mar; model=mod; silnik=sil; samochody.add(this); }

10 10 Kompozycja – implementacja Java cz. 2 public class Silnik { static Vector silniki = new Vector(); int pojemnosc; int moc; int momentObr; Samochod samochod; Public Silnik (int poj, int hp, int moment, Samochod sam){ pojemnosc = poj; moc = hp; momentObr = moment; samochod = sam; silniki.add(this); }

11 11 ) Asocjacja kwalifikowana (przy pomocy tablic asocjacyjnych) Kwalifikator jest atrybutem asocjacji (lub zestawem atrybutów), którego wartości służą do podziału zbioru obiektów definiowanych przez klasę znajdującą się na jednym z końców tej asocjacji innymi słowy mając na jednym końcu obiekt asocjacji odpowiada on na pytanie jak znaleźć obiekt z drugiego końca. Tablice asocjacyjne są to tablice w których zamiast indeksów liczbowych używa się identyfikatorów znakowych(kluczy) Tablice asocjacyjne są to tablice w których zamiast indeksów liczbowych używa się identyfikatorów znakowych(kluczy)

12 12 Asocjacja kwalifikowana (przy pomocy tablic asocjacyjnych) Bank Osoba nr konta Bank 1..* 0..1 Bank Osoba nr konta Bank Osoba * * * Bank/Osoba nr konta Osoba nr konta kwalifikator asocjacji

13 13 Asocjacja kwalifikowana – implementacja Java z użyciem kolekcji HashMap public class Bank{ HashMap konta = new HashMap(); String nazwa; public Bank(String n){ nazwa = n; } public void zalozKonto(int numerKonta, Osoba o){ if(konta.containsKey(numerKonta)) System.out.println(“Juz jest taki numer konta”); else { konta.put(numerKonta, o); Osoba.bankiOsoby.add(this);}} public void usunKonto(int numerKonta, Osoba o){ if(konta.containsKey(numerKonta)){konta.remove(numerKonta);Osoba.bankiOsoby.removeElement(this);return;}} public class Osoba{ Vector bankiOsoby = new Vector(); String imie; String nazwisko; public Osoba(String i, String n){ imie = i; nazwisko = n; }}

14 14 Asocjacja n-arna Asocjacja n-arna to asocjacja, której wystąpienia łączą n obiektów, będących instancjami co najwyżej n klas. Dana klasa może pojawić się na więcej niż jednej pozycji w asocjacji.

15 15 Asocjacja n-arna K1 K2 K3 nazwa asocjacji K1 K2 K3 asocjacja 3-arna asocjacja 4-arna

16 16 Asocjacja n-arna * Profesor imie nazwisko Student imie nazwisko nrIndeksu Cwiczenie nazwaPrzedmiotu data

17 17 Asocjacja n-arna – implementacja Java cz. 1 public class Profesor{ static Vector profesorzy = new Vector(); String imie; String nazwisko; public Vector prowadzoneCwiczenia; public Profesor(String im, String nazw){ imie = im; nazwisko=nazw; prowadzoneCwiczenia = new Vector(); profesorzy.add(this);}} public class Student{ static Vector studenci = new Vector(); String imie; String nazwisko; int numerIndeksu; public Vector odbywaneCwiczenia; public Student(String im, String nazw, int numer){ imie = im; nazwisko = nazw; numerIndeksu = numer; odbywaneCwiczenia = new Vector(); studenci.add(this);}}

18 18 Asocjacja n-arna – implementacja Java cz. 2 public class Cwiczenie{ String nazwaPrzedmiotu; String data; public Profesor profesor; public Vector studenciNaCwiczeniu; public Cwiczenie(Profesor prof, Vector stud, String nazwa, String dat){ nazwaPrzedmiotu = nazwa; data = dat; prof.prowadzoneCwiczenia.addElement(this); Iterator it = stud.iterator(); Student s; while(it.hasNext()){ s=(Student) it.next(); s.odbywaneCwiczenia.addElement(this);}}}


Pobierz ppt "1 Asocjacja,Kompozycja,Agregacja Autorzy prezentacji: Mirosław Karaś Adam Grzybkowski."

Podobne prezentacje


Reklamy Google