writeonly свойства в паскале: надо ли

В #810 @ibond Сказал:

делаю readonly. write-only это вообще бред какой-то

И я вроде и согласен с этим, процедура с приставкой Set была бы более удобна и гибкая (можно чтоб больше чем 1 параметр принимала, и сделать возвращаемое значение). Но всё же в каких то языках writeonly свойства зачем то существуют, возможно, я так думаю только потому - что ещё не встретил ситуацию где оно будет полезно. Я нашёл официальное описание, зачем оно нужно - только тут.

Но и если writeonly в подсказках по наведению мышки не будет показывать, что будет показывать соответствующим свойствам? Возможно стоит запретить описывать свойства которые можно перезаписывать, но нельзя прочитать?

И кстати, каким словом можно назвать и возможность перезаписи и возможность чтения свойства (ну то есть каким надо заменить слова “возможность” в этом предложении).

(продолжение от туда же)

@Admin:

write свойства существуют - очень редко, но бывают нужны. Я пару раз использовал.

Я бы сделал

property t1.p1: byte; read; write;

примерно как в C#. Виртуальность свойства в C# не отображается

Не нужно ничего запрещать. :slight_smile: В паскале ведь должна быть какая-то экзотика в лучшем смысле слова!

Да дело не в экзотике. Дело в том что если не показывает writeonly, по наведению мышки, будет невозможно узнать, есть ли возможность перезаписи у свойства, не переходя к определению.

надуманно все. для это есть обычные методы. свойство оно на то и есть свойство, чтобы его видеть.

Надеюсь, это не станет основанием для удаления writeonly-свойств из языка.

Если и станет - только к лучшему: к чистке языка от синтаксического мусора.

Но согласитесь, забавная вещь.

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

Может пригодится. @Admin тут даже ссылку приводил.

У меня тут рядом с домом валяется огромный скат, похоже, от “Кировца”. Подумал сейчас: может, притащить его в квартиру попробовать? Может пригодится…

1 лайк