Date: 2010-01-31 09:44 pm (UTC)
Это как const в плюсах. Когда хоть где-то возникают нот-налл типы, они просачиваются во всю прилагу. А когда просачиваются, то возникают вопросы, например:

1) Что делать с неинициализированными филдами классов в момент вызова конструктора? С одной стороны, если какие-то из них помечены как not-null, то как же тогда выполнять тело конструктора - ведь в какой-то момент (до присваивания этому филду значения) контракт будет нарушен.

2) Что делать с вызовами базового конструктора? С одной стороны, хочется сделать как обычно - выполнить его до конструктора наследника, но если у наследника есть филд not-null, ну дальше понятно.

3) Веселые косяки ждут дизайнера языка, если он решит консистентности ради разрешить массивы not-null типов. Тот же вопрос - что делать с инициализацией?

Кароче - в языках, где возможны частично инициализированные объекты, например, во всех ОО-языках, введение not-null типов порождает или неиллюзорный гемор, или неконсистентность, или и то, и другое.
This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

Profile

metaclass: (Default)
metaclass

April 2017

S M T W T F S
      1
2345678
9101112 131415
16171819202122
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 20th, 2025 01:41 am
Powered by Dreamwidth Studios