powered by simpleCommunicator - 2.0.35     © 2025 Programmizd 02
Форумы / Delphi [игнор отключен] [закрыт для гостей] / объекты
3 сообщений из 3, страница 1 из 1
объекты
    #32019862
user
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
раскажите какую запись объекта правельнее использовать?
и почему?

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;

спасибо ....
...
Рейтинг: 0 / 0
объекты
    #32019885
Конечно, только первое.
Просто потому, что чаще всего у объектов будет дополнительная логика при чтении/изменении значеий.
Например,очень часто вводится свойство Modified...
...
Рейтинг: 0 / 0
объекты
    #32019889
Oleg_Martynov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Если Вы создаёте класс -> он будет всегда наследником TObject (у него будут все поля, свойства и методы TObject). Т.е. Вам должен быть нужен именно класс.
2. Если нужен просто "хранилище" - то record {Text : string; Index : Integer} очень даже справится с этой задачей. Естественно, что запись - это не класс. Переменная-запись - это реальный объект, а переменная-класс - это указатель на объект.
3. Если Вам всё же нужен именно класс - первый способ "чище". Почитайте про "упрятывание данных". Попробуйте почитать Гради Буча "Объектно-ориентированный анализ и проектирование" - Вы легко найдёте в сети. Говоря коротко - во первом случае Вы "развязываете" интерфейс класса и его реализацию. Например, сможете потом сделать так, чтобы индекс вычислялся, не был реальным полем.
4. Если же класс нужен просто как "контейнер", и не нужны свойства, присущие TObject - то лучше просто запись.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / объекты
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]