Если Ничто не вводит, у основания иерархии классов, почему я не могу назвать мыслимый метод на нем?

Quicksort, сортировка слиянием , и большая часть другого N-журнала N виды.

15
задан oxbow_lakes 13 November 2009 в 12:08
поделиться

3 ответа

Хотя Ничто является подтипом всего, оно не наследует любым методом, кроме Любой . Это потому, что Ничто больше не ориентировано на функциональную сторону языка. Это необходимо для таких вещей, как Option и List , но только как тип , а не как класс.

Различие здесь немного странное для тех исходит из объектно-ориентированного фона, но факт в том, что подтипирование как концепция очень отличается от ООП. Конечно, объектно-ориентированный подход подразумевает подтипирование в той или иной форме, но обратное неверно. Типы и языки программирования Бенджамина Пирса хорошо справляются с задачей представления языка F_ < (произносится как «F sub»), который служит минимальным примером языка с подтипами (но не OO).

Теперь, со всем сказанным, я согласен с тем, что Ничего невосприимчив к нормальным правилам наследования, действительно кажется немного непоследовательным. Однако с теоретической точки зрения это имеет смысл.

17
ответ дан 1 December 2019 в 03:52
поделиться

Я полагаю Ничто не могло принять какой-либо метод и выполнить стандартную операцию над всеми из них (выброс исключения). Однако это было бы не очень полезно.

Представляя ошибку компиляции, компилятор предупреждает программиста, что тип, который ему, скорее всего, не нужен, Nothing , каким-то образом был выведен при определенном точка в коде.

2
ответ дан 1 December 2019 в 03:52
поделиться

Вы можете вызвать toString для переменной Nothing из-за ее определения:
final trait Nothing extends Any
And toString является членом из Любые . Я думаю, что компилятор scala обрабатывает Nothing только в границах типов и рассматривает его как любую другую черту во всех случаях. Я думаю, что разрешение вызывать любой метод для переменной с типом Nothing будет очень странным.

0
ответ дан 1 December 2019 в 03:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: