Rafał Drozd
2. Rodzaje asocjacji w diagramie klas i ich implementacje.
1. Asocjacje jeden-do-jeden
Państwo Miasto
<1---1>
public class Panstwo { Miasto stolica;
public Panstwo(Miasto m) { stolica = m;
}
public class Miasto { public Miasto() { }
}
2. Asocjacje jeden-do-wiele
Osoba Samochód
<1---*>
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) { this.o = o;
} }
3. Asocjacje wiele-do-wiele
Człowiek Firma
-Nazwisko:string <*---*> -Nazwa: string
class Czlowiek{
Hashtable firmy;
public void ZnajdzPrace(Firma f) {
firmy.Add(f);
} }
class Firma{
Hashtable ludzie;
public void Zatrudnij(Czlowiek c) { ludzie.Add(ludzie.
} }
4. Asocjacje z atrybutem
class Czlowiek{
string nazwisko;
public Czlowiek(String naz) { this.nazwisko=naz;
} }
class Firma{
String nazwa;
public Firma(String naz) { this.nazwa=naz;
} }
class Zatrudnienie{
Czlowiek pracownik;
Firma pracodawca;
int pensja;
public Zatrudnienie(Czlowiek c, Firma { pracownik = c;
pracodawca = f;
pensja = stawka;
} }
public void Zatrudnij(Czlowiek c) { ludzie.Add(ludzie.Add(c));
Asocjacje z atrybutem
public Czlowiek(String naz) this.nazwisko=naz;
public Firma(String naz)
public Zatrudnienie(Czlowiek c, Firma f, int stawka)