In X-Cart 5 you can tweak CSS, JS and templates (webmaster mode) from the backend (see under Look & Feel section). However, when it comes to PHP programming, the code should be wrapped into a custom module (even if you won't distribute it). If you edit core and module files, the next upgrade will revert the changes.
@ListChild and "decorate" are terms specific for X-Cart 5, not OOP. There is a portal where you can find documentation on programming for X-Cart 5:
http://devs.x-cart.com/