Sposoby implementacji asocjacji

Slides:



Advertisements
Podobne prezentacje
Wstęp do strumieni danych
Advertisements

C++ wykład 2 ( ) Klasy i obiekty.
Programowanie obiektowe
1 Dzisiejszy wykład Klasa string wersja prosta wersja ze zliczaniem odwołań Wyjątki Specyfikator volatile.
Programowanie obiektowe PO PO - LAB 3 Wojciech Pieprzyca.
Programowanie obiektowe Andrzej Ziółkowski Wykład 3.
Klasy i obiekty.
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();
Kamil Łącki Dominik Strzelichowski
Implementacja ekstensji klasy
Implementacja asocjacji
Mapowanie dziedziczenia z UML do Java
Java applet (c.d.) Nguyen Hung Son Uniwersytet Warszawski.
Programowanie obiektowe w Javie
Plasterkowanie Leszek Mierzejewski.
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,
DZIEDZICZENIE · klasy bazowe i klasy pochodne WyświetlAutora( ) Autor
Programowanie sieciowe w Javie
C++ wykład 2 ( ) Klasy i obiekty.
Wykład 8 Wojciech Pieprzyca
.NET Remoting Łukasz Zawadzki.
Czytanie, pisanie i rysowanie – cd.. Jeszcze jeden strumyk PrintStream działa jak PrintWriter, ale: Używa domyślnego (systemowego) kodowania Nie wyrzuca.
Tablice tablica jest sekwencją elementów tego samego typu (prostego lub obiektowego) w Javie tablice są obiektami, a zmienne tablicowe przechowują referencję
Hibernate relacje.
Projektowanie - klasy i związki
Polsko-Japońska Wyższa Szkoła Technik Komputerowych
Techniki i języki programowania
T: Różnice pomiędzy programowaniem strukturalnym a obiektowym
Podstawy inżynierii oprogramowania Zofia Kruczkiewicz
PIO 3_2, Zofia Kruczkiewicz1 Wykład 3 – część druga Iteracyjno-rozwojowy cykl oprogramowania 3.
C# cz.3 Obiektowość w C# Krzysztof Fediuk
Tworzenie aplikacji mobilnych
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.
Programowanie obiektowe III rok EiT dr inż. Jerzy Kotowski Wykład IX.
Programowanie obiektowe III rok EiT
Java – coś na temat Klas Piotr Rosik
Seminarium problemowe
Programowanie obiektowe Wykład 7 dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/20 Dariusz Wardowski.
PIO 2_2, Zofia Kruczkiewicz1 Wykład 2 – część druga Iteracyjno-rozwojowy cykl oprogramowania 2.
Programowanie obiektowe 2013/2014
OCPJP Inner classes.
Kurs języka C++ – wykład 8 ( )
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Programowanie strukturalne i obiektowe C++
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Diagram klas Kluczowymi elementami są: klasy (class)
Programowanie strukturalne i obiektowe C++ Przeładowanie operatorów Robert Nowak.
K URS JĘZYKA C++ – WYKŁAD 6 ( ) Polimorfizm.
Informatyka Stosowana – ROK II / III
PIO 3_2, Zofia Kruczkiewicz1 Wykład 3 – część druga Iteracyjno-rozwojowy cykl oprogramowania 3.
Unified Modeling Language
Partnerstwo dla Przyszłości 1 Lekcja 28 Dziedziczenie i rodzaje dziedziczenia.
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.
Asocjacja,Kompozycja,Agregacja
Implementacja asocjacji (z atrybutami i bez) przy użyciu: referencji (kolekcji referencji) tablic asocjacyjnych przygotował: Kamil Kowalczyk.
InMoST, Java – przykładowa aplikacja Bartosz.Michalik
Wprowadzenie do języka Java Kolekcje w języku Java Bartosz Walter.
Programowanie Obiektowe – Wykład 6
(według:
Programowanie obiektowe II
Klasy wewnętrzne. Praktyka użycia interfejsów i klas wewnętrznych
PGO - Projektowanie i implementacja pierwszych klas
PGO Dziedziczenie Michail Mokkas.
PGO Przeciążanie metod i konstruktorów
Tworzenie wątków w Javie
Iteracyjno-rozwojowy cykl oprogramowania 3
Zapis prezentacji:

Sposoby implementacji asocjacji Michał Drabik Krzysztof Wanatowicz

Spis treści Definicja Asocjacje binarne Atrybut asocjacji

Definicja Asocjacją nazywamy związek strukturalny, określający zbiór połączeń pomiędzy obiektami; związek znaczeniowy między co najmniej dwoma klasyfikatorami, który określa połączenia między ich egzemplarzami

Asocjacja jeden-do-jeden

Asocjacja jeden-do-jeden Java,C#: public class Panstwo { Miasto stolica; public Panstwo(Miasto m) stolica = m; } public class Miasto Panstwo p; public Miasto(Panstwo p) this.p = p;

Asocjacja skierowana

Asocjacja skierowana Java,C#: public class Panstwo { Miasto stolica; public Panstwo(Miasto m) stolica = m; } public class Miasto public Miasto() {}

Asocjacja jeden-do-dwóch

Asocjacja jeden-do-dwóch Java: public class Rower { Kolo[] kola = new Kolo[2]; public Rower(Kolo[] k) if (k.length==2) System.arraycopy(k,0,kola,0,2); } public class Kolo public Kolo() {} C# public class Rower { Kolo[] kola = new Kolo[2]; public Rower(Kolo[] k) if(k.Length==2) k.CopyTo(kola,0); } public class Kolo public Kolo() {}

Asocjacja jeden-do-wiele

Asocjacja jeden-do-wiele Java: public class Osoba { Collection samochody = new Vector(); public Osoba() {} public void dodajSamochod(Samochod sam) sam.przypiszWlasciciela(this); samochody.add(sam); } public class Samochod Osoba o; public Samochod(Osoba o) this.o = o; public void przypiszWlasciciela(Osoba o) C# public class Osoba { ArrayList samochody = new ArrayList(); public Osoba() {} public void dodajSamochod(Samochod sam) sam.przypiszWlasciciela(this); samochody.Add(sam); } public class Samochod Osoba o; public Samochod(Osoba o) this.o = o; public void przypiszWlasciciela(Osoba o)

Asocjacja wiele-do-wiele

Asocjacja wiele-do-wiele Java class Czlowiek{ HashSet firmy; public void ZnajdzPrace(Firma f) { firmy.add(f); } class Firma{ HashSet pracownicy; public void Zatrudnij(Czlowiek c) pracownicy.add(c); C# class Czlowiek{ Hashtable firmy; public void ZnajdzPrace(Firma f) { firmy.Add(firmy.Count, f); } class Firma{ Hashtable ludzie; public void Zatrudnij(Czlowiek c) ludzie.Add(ludzie.Count,c);

Asocjacja wiele-do-wiele Java class Czlowiek{ Vector firmy; public void ZnajdzPrace(Firma f) { firmy.addElement(f); } class Firma{ Vector pracownicy; public void Zatrudnij(Czlowiek c) pracownicy.addElement(c);

Asocjacja sama do siebie

Asocjacja sama do siebie Java: public class Osoba { Osoba kierownik; Collection pracownicy = new Vector(); public Osoba(Osoba o) kierownik = o; } public void dodajPracownika(Osoba o) pracownicy.add(o); C# public class Osoba { Osoba kierownik; ArrayList pracownicy = new ArrayList(); public Osoba(Osoba o) kierownik = o; } public void dodajPracownika(Osoba o) pracownicy.Add(o);

Asocjacje z atrybutem

Asocjacje z atrybutem Java / C# class Czlowiek{ string nazwisko; public Czlowiek(String naz) { this.nazwisko=naz; } class Firma{ String nazwa public Firma(String naz) this.nazwa=naz; Java / C# class Zatrudnienie{ Czlowiek pracownik; Firma pracodawca; int pensja; public Zatrudnienie(Czlowiek c, Firma F, int stawka) { pracownik = c; pracodawca=f; pensja = stawka; }