If your CLASS::A object doesn't have the behavior you need for your project, and would benefit from this extra behavior, you could either subclass CLASS::A as you've described, or compose
a project-specific object that includes a CLASS::A object as an instance variable (member). Both ways have merits and downsides, and without knowing more about your application, I can't recommend one over the other.
-- Randal L. Schwartz, Perl hacker
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119.