Skład i agregacja

Klasy i obiekty mogą być ze sobą powiązane. Dziedziczenie opisuje związek „jest” (lub w języku angielskim „IS A”). Lew jest zwierzęciem. Taki związek łatwo wyrazić za pomocą dziedziczenia, gdzie Animalbędzie to klasa nadrzędna i Lionpotomek. Jednak nie wszystkie relacje na świecie są opisywane w ten sposób. Na przykład klawiatura jest zdecydowanie w jakiś sposób powiązana z komputerem, ale nie jest komputerem . Ręce są w jakiś sposób związane z osobą, ale nie są osobą. W tych przypadkach opiera się na innym typie relacji: nie „jest”, ale „jest częścią” („MA A”). Ręka nie jest osobą, ale jest częścią osoby. Klawiatura nie jest komputerem, ale jest częścią komputera. HAS Relacje można opisać w kodzie za pomocą mechanizmów kompozycji iagregacja . Różnica między nimi polega na „ścisłości” tych połączeń. Podajmy prosty przykład: mamy swój Car- samochód. Każdy samochód ma silnik. Ponadto w każdym samochodzie znajdują się pasażerowie. Jaka jest podstawowa różnica między polami Engine enginea Passenger[] passengers? Jeśli pasażer siedzi w samochodzie , nie oznacza to, że pasażerowie i Anie mogą w nim przebywać . Jeden samochód może pomieścić wielu pasażerów. Ponadto, jeśli wszyscy pasażerowie wypadną z samochodu, będzie on nadal działał płynnie. Związek między klasą a tablicą pasażerów jest mniej ścisły. Nazywa się to agregacją . Jest dobry artykuł na ten temat: Relacje między klasami (obiektami)BCCarPassenger[] passengers. Stanowi kolejny dobry przykład agregacji. Powiedzmy, że mamy klasę Studentoznaczającą ucznia i klasę StudentGroup(grupę uczniów). Uczeń może być członkiem klubu fizyki, studenckiego fanklubu Gwiezdnych Wojen lub zespołu KVN. Kompozycja jest bardziej rygorystycznym typem relacji. W przypadku kompozycji obiekt jest nie tylko częścią obiektu, ale nie może należeć do innego obiektu tego samego typu. Najprostszym przykładem jest silnik samochodowy. Silnik jest częścią samochodu, ale nie może być częścią innego samochodu. Jak widać, ich związek jest znacznie bardziej ścisły niż związek Cari Passengers. Relacje między klasami.  Dziedziczenie, skład i agregacja - 4