Prenechá prácu inému objektu, no navonok za ňu ručí sám.
class Engine { spin() { // spins the wheels }} class Radio { turnOn(station) { // tunes in and plays }} class Car { constructor() { this.engine = new Engine(); this.radio = new Radio(); } // The car does not drive itself. It hands the work to the engine, but answers for it. drive() { this.engine.spin(); } play(station) { this.radio.turnOn(station); }} const car = new Car(); car.drive();car.play('FM 90.6'); // the driver knows nothing about the engine or the radio