Re: ООП 1-е шаги. Создать объект, загрузить из файла данные
От: chemey  
Дата: 20.05.11 07:44
Оценка: 2 (1)
Здравствуйте, Bitfry, Вы писали:

B>Нужно-то всего лишь на основе данных из файла создать объект. А как это сделать красиво?

B>Вот, ход моих рассуждений:
B>Получив имя файла, вызываю свою функцию

Неправильный ход рассуждений.
Получив имя файла, ты создаешь свой объект, передав ему в конструктор имя файла в качестве аргумента.

Конструктор открывает файл, читает его, распихивает данные по полям объекта. Если что не так — конструктор кидает исключение.

В результате ты или получаешь полностью готовый объект, или исключение с соответствующей ошибкой.

B>OpenМemo (FileName, memo1); // Функция открывает файл, читает данные и размещает их в memo1 — объект моего класса.


Неправильный подход.
Никакая функция "снаружи" не должна иметь прямого доступа к полям класса. На то она и изоляция с инкапсуляцией.

B>Функция OpenMemo — это ведь процедурное мышление?


Да.

B>Кроме того, я создаю в обработчике глобально юзаемый по всей программе объект memo1. Неужели так это и делается?


Зависит от логики программы.
Почему твой объект юзается во всей программе? Если там какие-нибудь конфиги хранятся, то можно и глобально заюзать.
А если у тебя там просто "всякая полезная мелочь" в кучу свалена — надо подумать, не стоит ли разобраться в этой куче и рассортировать все по отдельным объектам.
Бзззззззжжжжж
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.