type
TPerson = class(TObject)
name : string;
constructor create(name : string);
end;
приведет к ошибке компилятора.Почему паскаль запрещает одинаковое имя идентификатора для параметра метода и элемента данных класса?
Я думаю, что self
или this
указатель/ссылка достаточно хороша, для его ясности. Итак, каковы преимущества этого?
EDIT: Еще один вопрос: можете ли вы показать, какие языки используют эту политику?
кажется «bondage-and-дисциплина», но он позволяет присваивать «целое» 'shortint'. – Jichao
Ну, разработчики языка могут думать только о многих случаях. Вы не можете предотвратить их всех в компиляторе. Я думаю, что хорошая старая проблема с остановкой может сыграть в это :-) – Joey
Я никогда не видел учебника Паскаля, описывающего язык как «Связывание и дисциплина». Походит на зависть с других языков :-) –