wizzard: (Default)
[personal profile] wizzard

почему в интерфейсе не может быть конструкторов? аррргх.

насчет “в языке нету синтаксиса” – делается на раз-два. ISomeType something= new<ISomeType> typeVariable(arg, arg2, arg3), например. И статический чекинг, и все тут, и не конфликтует ни с чем.

без синтаксиса делается тоже на раз-два, либо фабриками, либо рефлекшеном, но некрасиво это :/

У меня ностальгия по питоновой общности между constructors, factories и вообще callables…

Date: 2009-12-15 11:28 pm (UTC)
From: [identity profile] alexey-rom.livejournal.com
Traits в Scala происходят от Smalltalk (с попытками их добавить в Java/C# и Ruby mixins по дороге). Это, грубо говоря, интерфейс + (частичная) реализация. Отличие от абстрактных классов в том, что допускается множественное наследование от трэйтов, у них нет конструкторов и т.д.

Profile

wizzard: (Default)
wizzard

January 2019

S M T W T F S
  12 345
6789101112
1314 1516171819
202122 23242526
2728293031  

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 25th, 2026 08:44 am
Powered by Dreamwidth Studios