![]() |
Разделение исходного кода на несколько файлов
Какое-то время назад начал писать свою первую большую программу. И в определенный момент, разумеется, подошел к тому, что количество строк начало создавать определенные неудобства для навигации.
Захотелось перенести часть функций в отдельный файл, но натолкнулся на встроенные во Flex ограничения - каждый .as-файл должен содержать одно и только одно публично видимое определение класса. Хотелось-то всего лишь перенести часть функций, которые можно будет вызывать из основного файла. Собственно, может, я просто еще не научился мыслить в категориях ООП? Неужто, создавать отдельный объект и переносить туда функции в качестве методов? Может ткнете, где почитать про оформление относительно больших программ с модульной архитектурой? |
Попробуй Гради Буч. ООП.
|
я так же хотел сделать, но сам не смог, а тут мне особо не помогли...видимо это действительно не просто так...а сложнее, чем кажется на первый взгляд...
|
Ну на самом деле создать класс и перенести функции как методы - вполне работает. Наверное, это и есть правильно с т.зр. ООП.. :)
|
Вообще то да, создавать отдельный класс и переносить туда часть функционала, и желательно не просто часть: функции от А до И - в один класс, а от К до Я - в другой. А выделить логические объекты, которые и должны нести в себе (инкапсулировать) определенные функции.
Как пример - автомобиль: двигатель - один класс (инкапсулирует функции "завести", "заглушить", "естьЛиБензин") колесо - другой - ("поворотВЛево", "поворотВПраво", "толщинаПротектора") Все это можно описать в одном классе - "Автомобиль", а можно разбить на вышеперечисленные, и хранить в классе "Автомобиль" интерфейсы на двигатель, колеса и т.д. Также можно разгрузить класс по средством наследования, когда классы выстраиваются в определенную иерархию, в книгах по С++ любят приводить пример с млекопитающими :) Овчарка -> собака -> млекопитающее... |
Пример хорошо разбивания на классы в топике Аркадной игры и Текстового редактора.
Нехорошего http://www.dnadillo.dn.ua/fla/robot-3-step.html |
| Часовой пояс GMT +4, время: 17:45. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.