Podręcznik
2. Związki pomiędzy obiektami
2.1. Zależność
Zależność to najsłabszy z omawianych związków. W ogólności zależność mówi, że jeden z obiektów wpływa na drugim, przy czym to wpływanie może mieć różny charakter. Może to być wywołanie metody, może to być utworzenie obiektu A przez obiekt B, itp...
Zależność zazwyczaj jest jednokierunkowa, po polsku opisuje się je frazą "...korzysta z...", "...oddziałuje na...", "...ma wpływ na...", "...tworzy...".
Najczęściej zależność oznacza, że klasa A używa klasy B jako parametru dla jakiejś operacji. Z tego względu zależność ma trywialną implementację:
#include <iostream>
class A {
public:
void dajGlos() const { std::cout << "Mówi A...\n"; }
void robCos(const B& dawca) {dawca->dajGlos();}
};
class B {
public:
void dajGlos() const { std::cout << "Mówi B...\n"; }
void robCos(const A& dawca) { dawca->dajGlos(); }
};
int main() {
A obA;
B obB;
obA.robCos(obB);
obB.robCos(obA);
return EXIT_SUCCESS;
}