От автора: в объектно-ориентированном программировании выделяют три способа организации отношений между классами и их объектами: наследование, агрегация и композиция.
При этом, если первое понятие практически у всех на слуху, то о втором и третьем, скорее всего, слышали далеко не все, хотя и использовали их в своих проектах. Данный урок будет теоретическим и цель его дать понимание указанных определений, так как довольно не редко об этом спрашивают на собеседовании.