Co je složení nad dědictvím?

Složení nad dědictvím je metodika programování, která se používá v objektově orientovaných programovacích jazycích, která pomáhá navázat dynamičtější a proměnlivější vztahy mezi objekty v aplikaci. Základním formátem pro složení nad dědictvím je zahrnutí instance objektu uvnitř jiného objektu. To se zřetelně liší od objektově orientované metody dědičnosti, ale může sloužit stejnému účelu v mnoha modelech. Mezi výhody složení oproti dědičnosti patří dobře definovaná hranice mezi kompostovanými objekty a objekty obalů, schopnost změnit implementaci objektu, aniž by to ovlivnilo celou dědičnou hierarchii, a méně restriktivní rámec pro počáteční návrh programu. Některé komplikace by však mohly zahrnovat potíže s serializací a příliš složité struktury ve velkých zavedených programech.

v objektu OrientuED Programování, jedním z rysů, které je důležité stanovit během návrhu, je to, jak se různé objekty vzájemně vztahují. Dědičnost je ústřední mechanismus v objektově orientovaném programování a umožňuje jednomu objektu zdědit všechna data a metody svého rodiče, které pak může přidat, modifikovat nebo rozšířit svou vlastní implementací. Příkladem designu založeného na dědictví by mohl být s programem, který má jednu hlavní třídu, která je definuje auto a modeluje některé obecné atributy všech automobilů. Třída pro každou jednotlivou značku automobilu je poté vyrobena jako potomek hlavní třídy, ale definuje konkrétní informace, jako je velikost motoru, kapacita paliva nebo jiné informace specifické pro konkrétní značku automobilu.

Složení je vyjádřeno zahrnutím instancí objektů do jiných objektů. Pokud existuje hlavní třída, která definuje obecné auto, pak místo vytváření podtříd pro konkrétní značky automobilů by mohla hlavní třída místo toho obsahovat případy jiných objektů, které určujíE auto konkrétněji. To by mohlo znamenat, že hlavní třída automobilu by mohla obsahovat objekt pro typ motoru a jeden pro kapacitu paliva, který by byl nastaven, když je třída použita k vytvoření instance konkrétní značky automobilu.

Při složení nad dědictvím objekty, které jsou obsaženy v hlavní třídě, nesouvisejí přímo s hlavní třídou, což vývojářům dává svobodu změnit způsob, jakým jednotlivé objekty fungují. Problém, který složení nad dědictvím může pomoci zabránit, je situace, kdy může být strom dědictví příliš hluboký, což znamená, že jakékoli úpravy třídy ve stromu by mohly vyžadovat změny po délce stromu. Ne všechny objektově orientované jazyky mají podporu pro více dědictví a složení nad dědictvím je metoda, kterou lze použít k vyřešení tohoto omezení.

JINÉ JAZYKY

Pomohl vám tento článek? Děkuji za zpětnou vazbu Děkuji za zpětnou vazbu

Jak můžeme pomoci? Jak můžeme pomoci?