В языках программирования обычно наследование делается просто указанием нового и старого класса.
Этого достаточно, чтобы новый класс обладал методами старого класса.
class NewClass: OldClass
Делегирование очень часто является более подходящим (правильным) паттерном,
но в обычных языка делегирование становится многословным. Приходится явно описывать каждый делегируемый метод
class NewClass
obj: OldClass
method1(x) { obj.method1(x) }
method2(x) { obj.method2(x) }
method3(x) { obj.method3(x) }
Вопрос. Есть ли языки, которые позволяют применить делегирование также элегантно (немногословно), как и наследование?