![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|
|
|||||
|
Регистрация: Nov 2008
Сообщений: 7
|
Какое-то время назад начал писать свою первую большую программу. И в определенный момент, разумеется, подошел к тому, что количество строк начало создавать определенные неудобства для навигации.
Захотелось перенести часть функций в отдельный файл, но натолкнулся на встроенные во Flex ограничения - каждый .as-файл должен содержать одно и только одно публично видимое определение класса. Хотелось-то всего лишь перенести часть функций, которые можно будет вызывать из основного файла. Собственно, может, я просто еще не научился мыслить в категориях ООП? Неужто, создавать отдельный объект и переносить туда функции в качестве методов? Может ткнете, где почитать про оформление относительно больших программ с модульной архитектурой? |
|
|||||
|
Регистрация: Feb 2007
Сообщений: 563
|
я так же хотел сделать, но сам не смог, а тут мне особо не помогли...видимо это действительно не просто так...а сложнее, чем кажется на первый взгляд...
|
|
|||||
|
Регистрация: Nov 2008
Сообщений: 7
|
Ну на самом деле создать класс и перенести функции как методы - вполне работает. Наверное, это и есть правильно с т.зр. ООП..
![]() |
|
|||||
|
Регистрация: Jul 2008
Адрес: Украина, Киев
Сообщений: 253
|
Вообще то да, создавать отдельный класс и переносить туда часть функционала, и желательно не просто часть: функции от А до И - в один класс, а от К до Я - в другой. А выделить логические объекты, которые и должны нести в себе (инкапсулировать) определенные функции.
Как пример - автомобиль: двигатель - один класс (инкапсулирует функции "завести", "заглушить", "естьЛиБензин") колесо - другой - ("поворотВЛево", "поворотВПраво", "толщинаПротектора") Все это можно описать в одном классе - "Автомобиль", а можно разбить на вышеперечисленные, и хранить в классе "Автомобиль" интерфейсы на двигатель, колеса и т.д. Также можно разгрузить класс по средством наследования, когда классы выстраиваются в определенную иерархию, в книгах по С++ любят приводить пример с млекопитающими ![]() Овчарка -> собака -> млекопитающее... |
|
|||||
|
Пример хорошо разбивания на классы в топике Аркадной игры и Текстового редактора.
Нехорошего http://www.dnadillo.dn.ua/fla/robot-3-step.html |
![]() |
![]() |
Часовой пояс GMT +4, время: 16:33. |
|
|
« Предыдущая тема | Следующая тема » |
|
|