Decorator Pattern: Abstract Decorators

So I’m building this engine, and I’m looking to use the decorator pattern to build out the characters’ functionality in a modular fashion, so the Goomba might look something like this:

Concrete Character

  • walkDecoration
  • bounceOffWallDecoration
  • venerableHeadDecoration

That way people who make the characters can just piece together their enemies (or hero) through a series of pre-built decorations.

I understand the decorator pattern for the most part. However, my book resource says that my abstract decorator needs to RE-IMPLEMENT all of the methods of the abstract component. All the examples shown have the methods literally re-implemented as if they just copied/pasted and added the word “override”. First of all, I don’t quite understand why that needs to be done. Second of all, can I just called super.method()? It would be a big problem for me to have to track changes through to identical classes, because my abstract character class is so lengthy.

Hoping for some clarity,
Eric Smith