Школоло / Говнокод #21780 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
Если свойство должно только читаться или записываться, в его описании может присутствовать соответствующий метод:

    type
    TAnObject = class(TObject)
    property AProperty: TSomeType read GetValue; 
    end;

В этом примере вне объекта значение свойства можно лишь прочитать; попытка присвоить свойству AProperty значение вызовет ошибку компиляции.
Для присвоения свойству значения по умолчанию используется ключевое слово default:
[code] property Visible: boolean read FVisible write SetVisible default True;
Это означает, что при запуске программы свойство будет установлено компилятором в True

{Из учебника для долбоёбов, под авторством ***}

Запостил: Dr_Stertor Dr_Stertor, (Updated )

Комментарии (12) RSS

    • На самом деле нет. Default-значение используется только при десериализации объекта, например, из DFM файла, если значение свойства не задано. (Ну и при сериализации позволяет экономить место, не сохраняя значения, равные умолчательному.) Если просто руками создать объект, будет False.
      Ответить
        • @А почему False?
          Потому, что при создании экземпляра класса, у вновь созданного все поля неявно обнуляются.

          @Разве не GetValue()
          Этот метод просто возвращает значение приватной переменной. Он не участвует в инициализации, тем более, что поле - только для чтения.

          Инициализация полей объекта следует выполнять в конструкторе.
          Автор учебника (кстати, кто он?) своей ложью толкает новичков на неверный путь.
          Ответить

Добавить комментарий

Где здесь C++, guest?!

    А не использовать ли нам bbcode?


    8