Различные обозначения для выражения наследования

почему существуют разные обозначения для выражения наследования? В дженериках я должен использовать оператор <: - - в обычном наследовании классов я должен использовать ключевое слово extends.

Например, я должен написать это:

class X[A <: B] extends Y

Но почему бы не написать что-то вроде этого:

class X[A <: B] <: Y

или

class X[A extends B] extends Y // like Java

У меня нет проблем с текущей нотацией, но я хочу знать, есть ли причина по-другому обозначать иерархию типов обобщений.

5
задан kiritsuku 26 November 2010 в 15:18
поделиться