![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| koder |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 181 Регистрация: 30.4.2005 Где: Moscow Репутация: нет Всего: 2 |
свойства класса.
открытые переменные - публичные поля. Правила применения свойств и открытых переменных? --------------------
THE TRUTH IS OUT THERE |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
А в чем вопрос?
|
|||
|
||||
| koder |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 181 Регистрация: 30.4.2005 Где: Moscow Репутация: нет Всего: 2 |
Когда применяются открытые поля, а когда закрытые?
Когда не требуется проверка открытых переменных? В книжке этого не написано! Хочу узнать от вас? Это сообщение отредактировал(а) koder - 27.12.2005, 21:46 --------------------
THE TRUTH IS OUT THERE |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
Что подразумевается под открытыми и закрытими?
Применение private, protected, public и published? В общем случае: Закрытые поля применяются для внутренней реализации внутри класса. Открытые поля применяются для работы с объектом из вне. Т.е. то, что доступно всем. А приватные поля - для внутренней реализации и хранения данных. |
|||
|
||||
| DeadSoul |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1217 Регистрация: 25.9.2005 Где: Москва Репутация: 1 Всего: 11 |
поле is_equal член класса, т.е переменная, а не функция? Если ДА, то такое делать не рекомендуют. Причины: допустим у тебя есть класс с членом mass(целое число). Если данные член public, то очень непросто найти все места где изменяется данная переменная. А это может понадобится: например, после полугодовой работы программы выяснилось, что масса не может быть более 1000. Искать все места где встречается обращения к массе? А если в дальнейшем неаккуратный программист не проверит новую массу перед присваиванием? P.S. Надеюсь понятно сформулировал? -------------------- Если Вы получили ответ на Ваш вопрос, то нажмите на "Вопрос решен". Бьем спамеров их же оружием. Пусть весь спам сыпется им [email protected] |
|||
|
||||
| koder |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 181 Регистрация: 30.4.2005 Где: Moscow Репутация: нет Всего: 2 |
Зачем они применяются, мне понятно, а в каких случаях не требуется делать проверку на применение открытых переменных..? Открытые переменные, это переменные, в public описанные... --------------------
THE TRUTH IS OUT THERE |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
В любых. Работа ведется только с public и published свойствами.
И проверять ничего не нужно. Работа с приватными полями ведется толькопри реализации класса. Для работы с классом используются только открытые свойства. Приватные просто не видны, и соответственно компилятор просто не даст с ними работать. |
|||
|
||||
| Zero |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2169 Регистрация: 23.10.2004 Где: Россия, г. Рязань Репутация: 8 Всего: 24 |
В основном, с точки зрения хорошего стиля программирования, закрытыми переменными делают именно переменные (то что после Var), а открытыми компоненты функции и процедуры, и они далее называются методами. Но это всё не строго... |
|||
|
||||
| koder |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 181 Регистрация: 30.4.2005 Где: Moscow Репутация: нет Всего: 2 |
Когда не следует делать проверку в открытых переменных?
1) Когда тип открытых переменных - Variant 2) Когда передаваемое знаение того же типа, и компилятор проверяет входит ли значение в тип открытых переменных. 3)? 4)? 5)? --------------------
THE TRUTH IS OUT THERE |
|||
|
||||
| Zero |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2169 Регистрация: 23.10.2004 Где: Россия, г. Рязань Репутация: 8 Всего: 24 |
Проверку чего делать то??? |
|||
|
||||
| koder |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 181 Регистрация: 30.4.2005 Где: Moscow Репутация: нет Всего: 2 |
На правильность данных.
--------------------
THE TRUTH IS OUT THERE |
|||
|
||||
| Демо |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 3.11.2005 Репутация: 30 Всего: 50 |
Что означает "правильность данных". Если целое поле объекта содержит число 10, это правиьное число? -------------------- |
|||
|
||||
| Zero |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2169 Регистрация: 23.10.2004 Где: Россия, г. Рязань Репутация: 8 Всего: 24 |
Она не как не связана, с открытыми и закрытыми переменными. Там где считаешь, что пользователь может ввести неправильные данные, там и ставь проверки. Но при этом имей ввиду, что если ты обращаешся к переменным не из компонент-функции, то переменные должны входить в паблик (хотя это плохой стиль программирования)... Лучше всего, сделать копонент-функцию, в паблике (открытой), а переменные в привате (закрытыми) и внутри этой КП делать проверки, а потом только использовать имя переменной которая типа "твой класс" и как метод вызвать эту комп.функцию... |
|||
|
||||
| Демо |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 3.11.2005 Репутация: 30 Всего: 50 |
Не существует понятия "открытые переменные". Добавлено @ 11:23
Не надо про стиль. Использовать поля в классе нужно именно там, где это необходимо, руководствуясь целесообразностью и мозгом, а не исповедуя религий в виде слова "стиль". Это сообщение отредактировал(а) Демо - 28.12.2005, 11:24 -------------------- |
||||
|
|||||
| Zero |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2169 Регистрация: 23.10.2004 Где: Россия, г. Рязань Репутация: 8 Всего: 24 |
Открытые переменные ─ это переменные которые доступны, не только в нутри описания компонент-функции, но а также и других местах. Пишутся после ключевого слова public: |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |