|
объекты
|
|||
---|---|---|---|
#18+
раскажите какую запись объекта правельнее использовать? и почему? TObj1 = class private FText: String; FIndex: Integer; public property Text: String read FText write FText; property Index: Integer read FIndexwrite FIndex; end; или TObj1 = class Text: String; Index: Integer; end; спасибо .... ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2001, 11:46 |
|
объекты
|
|||
---|---|---|---|
#18+
Конечно, только первое. Просто потому, что чаще всего у объектов будет дополнительная логика при чтении/изменении значеий. Например,очень часто вводится свойство Modified... ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2001, 14:53 |
|
объекты
|
|||
---|---|---|---|
#18+
1. Если Вы создаёте класс -> он будет всегда наследником TObject (у него будут все поля, свойства и методы TObject). Т.е. Вам должен быть нужен именно класс. 2. Если нужен просто "хранилище" - то record {Text : string; Index : Integer} очень даже справится с этой задачей. Естественно, что запись - это не класс. Переменная-запись - это реальный объект, а переменная-класс - это указатель на объект. 3. Если Вам всё же нужен именно класс - первый способ "чище". Почитайте про "упрятывание данных". Попробуйте почитать Гради Буча "Объектно-ориентированный анализ и проектирование" - Вы легко найдёте в сети. Говоря коротко - во первом случае Вы "развязываете" интерфейс класса и его реализацию. Например, сможете потом сделать так, чтобы индекс вычислялся, не был реальным полем. 4. Если же класс нужен просто как "контейнер", и не нужны свойства, присущие TObject - то лучше просто запись. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2001, 15:18 |
|
|
start [/forum/topic.php?desktop=1&fid=58&tid=2120082]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
45ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
others: | 250ms |
total: | 390ms |
0 / 0 |