LINUX.ORG.RU

История изменений

Исправление dimgel, (текущая версия) :

И как по мне, по сравнению со скалой это довольно дурацкое и неудобное ограничение

Причём я сталкивался с неудобством жавовских default-реализаций без состояния на практике: нужно было присобачить к классу какой-то вспомогательный mixin, добавляющий несколько новых методов, делегирующих куда-то к другому объекту. А вот объект-то как раз в интерфейс не впихнуть (в отличии от скаловских trait-ов).

UPD: Во, вспомнил: это были две параллельные иерархии сущностей: для основной базы и архивной. Поскольку у разрабов системы – хибер головного мозга, использовать один класс для двух таблиц одинаковой структуры но с разными именами было нельзя. И суперклассы у всех этих сущностей уже были. Мечталось хотя бы общий код из этих классов вынести в общий trait, и делегировать к нему. Но из-за ограничений языка пришлось этот код копипастить.

Исправление dimgel, :

И как по мне, по сравнению со скалой это довольно дурацкое и неудобное ограничение

Причём я сталкивался с неудобством жавовских default-реализаций без состояния на практике: нужно было присобачить к классу какой-то вспомогательный mixin, добавляющий несколько новых методов, делегирующих куда-то к другому объекту. А вот объект-то как раз в интерфейс не впихнуть (в отличии от скаловских trait-ов).

UPD: Во, вспомнил: это были две параллельные иерархии сущностей: для основной базы и архивной. Поскольку у разрабов системы – хибер головного мозга, использовать один класс для двух таблиц одинаковой структуры но с разными именами было нельзя. В итоге мечталось хотя бы общий код из этих классов вынести в общий trait, и делегировать к нему. Но из-за ограничений языка пришлось этот код копипастить.

Исходная версия dimgel, :

И как по мне, по сравнению со скалой это довольно дурацкое и неудобное ограничение

Причём я сталкивался с неудобством жавовских default-реализаций без состояния на практике: нужно было присобачить к классу какой-то вспомогательный mixin, добавляющий несколько новых методов, делегирующих куда-то к другому объекту. А вот объект-то как раз в интерфейс не впихнуть (в отличии от скаловских trait-ов).