8331764257

8331764257



Implementacja asocjacji dwukierunkowych


class Samochód {

Osoba właściciel;

Void Ustaw W!ascicicla(Osoba w){

for(vector<samochod>::iterator it = właściciel.samochody.begin(); it < właściciel.samochody,end(); it++) if(&(*it)==this) wlasciciel.samochody.erase(it):


wlasciciel=w;

wlascicicl.samochody.push_back(this)

}

Osoba PodajWIascicicl {return właściciel:}; void DodąjSamochodO { wlasciciel.Dodaj Samochod(this);}


Projektowanie systemów- informatycznych, wykład 2


Class Osoba {

vectoKsamochod> samochody': public:

void DodajSamochod(samochod s) {s.UstawWlasciciela(this)):} vector<samochod>PobierzSamochody(void) {return samochody;} fricnd class samochód;

_

15


Asocjacja dwukierunkowa jest to para połączonych ze sobą cech będących swoimi odwrotnościami. Klasa Samochód ma cechę właściciel:Osoba[l|, a klasa Osoba ma cechę samochody:Samochód[*J.

Implementacja dwukierunkowej asocjacji jest dość skomplikowana na slajdzie zaprezentowano przykład w języku C++ implementacji dwukierunkowej asocjacji miedzy klasami Osoba i Samochód. W takiej sytuacji zwykle wybieramy klasę implementującą właściwość pojedynczej krotności jako nadrzędną, która zarządza asocjacją. W naszym przykładzie jest to klasa Samochód. Do zarządzania asocjacją służą funkcje publiczne UstawWlasciciela, PodajWlasciciela oraz Dodaj Samochód. W takiej sytuacji klasa Osoba musi zrezygnować z kapsułkowania parametru samochody na rzecz klasy Samochód. W języku C++ można to zaimplementować poprzez deklarację przyjaźni klasy Samochód z klasą Osoba (friend class samochód).

15



Wyszukiwarka

Podobne podstrony:
Najprostsza aplikacja public class Hello{ public static void main(String[ ]
UMOWA KUPNA ■ SPRZEDAŻY SAMOCHODU Sprzedający: Właściciel ; Ir0*0 * na^uilckn rsn7dal< Kayimiory
iii. Niewłaściwy obiekt - osoba właściwa, formułą właściwa ale obiekt nie. Też chrzest, ale w innej
w6rys1 import java.util.*; class ListUtils { items) { stati void append(ArrayList list, Object[] for
Implementacja asocjacji Asocjacje można zaimplementować na wiele sposobów-, z reguły poprzez w prowa
public class Foiirth { public static void main(String[] args) { Tekst napis = new Tekst(){ void
class ZADANIA{ public static void main(String[] args){ Zadanie z = new Zadanie();
// Program04.java public class Program04 { public static void main(String[]{ // zamiana dwóch zmienn
co to jest zmienna? // Program03.java public class Program03 { public static void main(String[] args
co to jest zmienna? // Program03.java public class Program03 { public static void main(String[] args
ESH33iowanie obiektowe Przykład 3 - Metody kolekcji List<T> class SamochodfTTT] class
Język JAVA - NoweEchoJedi.java import java.io.*; public class NoweEchoJedi{ public static void
186 2 Florystyka ślubnaDekoracje samochodu Autocorso Właściwie każdy samochód wiozący młodą parę
STUDIUM PRZYPADKU IMPLEMENTACJA LISTY WSKAŹNIKOWEJ 147 5. Wróć do punktu 2 void wypisz_liste(el_list

więcej podobnych podstron