Я экспериментировал с шаблоном декоратора, чтобы расширить функциональность кода, который вы не хотите трогать, например, и я вижу, как это реализовать, однако теперь я не уверен, почему вы просто не наследуете исходный класс и не расширяете его таким образом.
Я читал, что шаблон декоратора позволяет вам добавлять функциональность во время выполнения, тогда как наследование означает, что оно присутствует во время компиляции.
Я этого не понимаю.
Может ли кто-нибудь объяснить это,приведите примеры и объясните, когда лучше использовать декоратор или наследование.
Спасибо