• Nie Znaleziono Wyników

Sposoby implementacji asocjacji

N/A
N/A
Protected

Academic year: 2021

Share "Sposoby implementacji asocjacji"

Copied!
18
0
0

Pełen tekst

(1)

Sposoby

implementacji asocjacji

Michał Drabik

(2)

Spis treści

Definicja

Asocjacje binarne

Atrybut asocjacji

(3)

Definicja

Asocjacją nazywamy związek strukturalny, Asocjacją 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

(4)

Asocjacja jeden-do-jeden

(5)

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;

} }

(6)

Asocjacja skierowana

(7)

Asocjacja skierowana

Java,C#:

public class Panstwo {

Miasto stolica;

public Panstwo(Miasto m) {

stolica = m;

} }

public class Miasto {

public Miasto() {}

}

(8)

Asocjacja jeden-do-dwóch

(9)

Asocjacja jeden-do-dwóch

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() {}

} 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() {}

}

(10)

Asocjacja jeden-do-wiele

(11)

Asocjacja jeden-do-wiele

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) 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)

(12)

Asocjacja wiele-do-wiele

(13)

Asocjacja wiele-do-wiele

C#

class Czlowiek{

Hashtable firmy;

public void ZnajdzPrace(Firma f) {

firmy.Add(firmy.Count, f);

} }

class Firma{

Hashtable ludzie;

Java class Czlowiek{

HashSet firmy;

public void ZnajdzPrace(Firma f) {

firmy.add(f);

} }

class Firma{

HashSet pracownicy;

(14)

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);

} }

(15)

Asocjacja sama do siebie

(16)

Asocjacja sama do siebie

C#

public class Osoba {

Osoba kierownik;

ArrayList pracownicy = new ArrayList();

public Osoba(Osoba o) {

kierownik = o;

}

public void dodajPracownika(Osoba o) {

pracownicy.Add(o);

} } Java:

public class Osoba {

Osoba kierownik;

Collection pracownicy = new Vector();

public Osoba(Osoba o) {

kierownik = o;

}

public void dodajPracownika(Osoba o) {

pracownicy.add(o);

} }

(17)

Asocjacje z atrybutem

(18)

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;

} }

Cytaty

Powiązane dokumenty

[r]

Zapewne tylko jeden solidny wniosek da się wyprowadzić z tych dwóch zestawień, a mianowicie taki, że częściej można natrafić na abstynen- tów w próbie losowej

*) Rysunek z książki: Sławomir Kula; Przewodowe systemy dostępowe xDSL (w przygotowaniu).. Budowa kabla teleinformatycznego Budowa kabla teleinformatycznego *) *). UTP

Aby znaleźć kierunek linii pola magnetycznego wokół elementu prądu, skieruj wyciągnięty kciuk prawej dłoni wzdłuż kierunku prądu.. Pozostałe palce obejmą wtedy element

Później okaże się, że w istocie jest dużo łatwiej liczyć całki oznaczone za pomocą nieoznaczonych, ale na początek, dla zrozumienia, podamy prawdziwą definicję

kierunku wiatru (jak również jego szybkości i innych czynników) w przekroju pionowym do wysokości kilkuset metrów (i wyżej) jest konieczna dla zrozumienia

Jeżeli małżonkowie są rozdzieleni lub rozdzieleni, a niema między nimi zgody, które z nich ma mieć staranie o wychowanie dzieci, sąd bez dopuszczenia sporu starać się powinien o

§ 141. Szczególniej ojca jest obowiązkiem starać się o utrzymanie dzieci tak długo, dopóki same wyżywić się nie będą w stanie. Staranie względem ciała i zdrowia dzieci