Composition xây dựng hành vi bằng cách nắm giữ các object khác (quan hệ "has-a") và ủy thác (delegate) cho chúng. Inheritance thu nhận hành vi bằng cách mở rộng một class ("is-a"). Lời khuyên "ưu tiên composition" tồn tại vì inheritance tạo ra coupling chặt và mong manh với một base class, trong khi composition giữ được sự linh hoạt.
Vấn đề của inheritance khi dùng để tái sử dụng
<T> <T> {
{ add(x); }
T { remove(size() - ); }
}
