În limbajul Java, la declararea claselor, este permis ca atât câmpurile clasei, cât și ale instanței să aibă ca valori obiecte din alte clase. Se poate porni astfel de la clase simple, care au drept câmpuri date din tipuri primitive, și construi pas cu pas clase cu structuri din ce in ce mai complicate, realizate prin agregarea claselor cu structuri mai simple.
Un exemplu de agregare este clasa Pers din fisierul Pers.java, pe care îl reproducem aici.
class Pers { private String numePers, prenumePers; private int anNasterePers; Pers(String nume, String prenume, int anNastere) { String nume() { return numePers; } String prenume() { return prenumePers; } int anNastere() { return anNasterePers; } |
Instanțele clasei Pers conțin datele unei persoane. Se
observă că obiectele din clasa Pers conțin câmpurile nume
și prenume, care sunt referințe la obiecte ale clasei String.
Remarcăm de asemenea că, întrucât câmpurile de date sunt private,
inițializarea lor se face folosind un constructor. După crearea
obiectului, aceste câmpuri nu mai pot fi modificate. Testarea clasei Pers
se face în aplicația din fișierul TestPers.java.