При чем тут наследование? То ли я неправильно выразился, то ли вы не понимаете о чем речь.
Попробую обьяснить, что б было понятней.
Joomla юзает свои классы, например есть класс JDocument, я хочу добавить в ЭТОТ КЛАСС свою функцию или модифицировать существующую, если я использую наследование, что получется?, я создам свой класс, но Joomla вызовет все равно JDocument! И то, что я создал свой (отнаследованный), система дернет тот класс, который прописан изначально!
Вот идея sdkiller мне нравится, хотя еще надо попробовать.
А вообще, мое мнение такое, что это плохо реализованно в Joomla. Учитывая, то, что благодаря autoload и include_path приложение может быть максимально гибким, Joomla это НЕ использует.
Если бы система использовала autoload , то достаточно было бы в начало стека include_path добавить папку (например local) и туда можно скидывать все системные классы (модифицированные разработчиком). В результате, autoload заглянул бы в папку local, если там есть нужный класс - брал бы его, если же там класса нужного нет - тогда лез бы в library. Это бы решило кучу вещей.
1. Легко переопределять системные классы, и не боятся, что при апгрейде системы что-то отвалится (так как системные классы не тронуты).
2. Не надо инклюдить и рекваирить классы и парится, что уже подключенно, соответственно jimport и ему подобные вещи не нужны.