|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
20.06.2012, 12:10 | #1 |
Пользователь
Регистрация: 06.06.2010
Сообщений: 79
|
Инициализация переменных и полей "по умолчанию"
Здравствуйте!
Насколько я знаю компилятор автоматически инициализирует глобальные переменные так: целочисленные значения ноль, строковые значения ' ', а булевские — False. Локальные переменные не инициализируются компилятором автоматически. А что с полями объектов? |
20.06.2012, 12:14 | #2 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,426
|
Вы о property?
Так же как и с локальными переменными, если на них ссылаются. По этому там есть слово default, которое определяет значение по умолчанию у property. |
20.06.2012, 12:26 | #3 |
Пользователь
Регистрация: 06.06.2010
Сообщений: 79
|
Нет я не о property а вот об этих штуках
Код:
|
20.06.2012, 12:30 | #4 |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
все поля класса зануляются при создании инстанса:
Код:
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
|
20.06.2012, 14:50 | #5 |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,882
|
Человек_Борща, ключевое слово Default для не-массивовых проперти не делает указанное значение значением по умолчанию, оно лишь указывает, что при сериализации/десериализации объекта класса это проперти не надо записывать/читать, а вот в конструкторе разработчик сам должен позаботиться о присвоении такого дефолтного значения.
Раздел справки по данному вопросу: Storage Specifiers |
20.06.2012, 16:22 | #6 |
Пользователь
Регистрация: 06.06.2010
Сообщений: 79
|
Простите тупого, но я так и не понял, обнулять поля в конструкторе или компилятор сам об этом позаботится?
|
20.06.2012, 16:24 | #7 |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
сам, но особо рассчитывать на это, имхо, плохой стиль.
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
|
20.06.2012, 16:33 | #8 |
Пользователь
Регистрация: 06.06.2010
Сообщений: 79
|
Спасибо, теперь буду знать.
|
12.10.2013, 00:01 | #9 |
Форумчанин
Регистрация: 10.10.2013
Сообщений: 150
|
Все поля объекта инициализируются при его создании. Поэтому в компонентах поля не инициализируют в конструкторе, если они должны быть установлены в нулевые значения, все они и так обнулены по умолчанию. Но если переменная объявляется в модуле или подпрограмме то её обязательно нужно инициализировать (см. Объявление и инициализация переменных).
Сайт о программировании и трехмерной графике - cybersite.ucoz.net
|
12.10.2013, 00:40 | #10 | |
ПШП
Участник клуба
Регистрация: 15.07.2013
Сообщений: 1,872
|
Цитата:
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" | aleksei78 | Microsoft Office Excel | 13 | 25.08.2009 12:04 |
настроить при открытии Excel 2003 в окошке "Тип файлов" вывод пункта "Все файлы (*.*)" по умолчанию? | Unior | Microsoft Office Excel | 2 | 01.03.2009 02:42 |
Как добавить "значение по умолчанию" в базе Access? | bafy | БД в Delphi | 6 | 13.02.2009 12:29 |
Как прописать в ключ "(По умолчанию)" | UnD)eaD)Snake | Общие вопросы Delphi | 4 | 16.08.2007 12:00 |