Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 24.11.2008, 16:51
ibmed вне форума Посмотреть профиль Отправить личное сообщение для ibmed Найти все сообщения от ibmed
  № 1  
Ответить с цитированием
ibmed

Регистрация: Nov 2008
Сообщений: 7
По умолчанию Разделение исходного кода на несколько файлов

Какое-то время назад начал писать свою первую большую программу. И в определенный момент, разумеется, подошел к тому, что количество строк начало создавать определенные неудобства для навигации.

Захотелось перенести часть функций в отдельный файл, но натолкнулся на встроенные во Flex ограничения - каждый .as-файл должен содержать одно и только одно публично видимое определение класса.

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

Может ткнете, где почитать про оформление относительно больших программ с модульной архитектурой?

Старый 24.11.2008, 17:00
_Smirnoff вне форума Посмотреть профиль Отправить личное сообщение для _Smirnoff Найти все сообщения от _Smirnoff
  № 2  
Ответить с цитированием
_Smirnoff
 
Аватар для _Smirnoff

блогер
Регистрация: Jul 2007
Адрес: Russia
Сообщений: 292
Записей в блоге: 5
Попробуй Гради Буч. ООП.
__________________
Оптимизация производительности на уровне кода

Старый 24.11.2008, 17:13
AlexDesinger вне форума Посмотреть профиль Отправить личное сообщение для AlexDesinger Посетить домашнюю страницу AlexDesinger Найти все сообщения от AlexDesinger
  № 3  
Ответить с цитированием
AlexDesinger

Регистрация: Feb 2007
Сообщений: 563
я так же хотел сделать, но сам не смог, а тут мне особо не помогли...видимо это действительно не просто так...а сложнее, чем кажется на первый взгляд...

Старый 24.11.2008, 17:16
ibmed вне форума Посмотреть профиль Отправить личное сообщение для ibmed Найти все сообщения от ibmed
  № 4  
Ответить с цитированием
ibmed

Регистрация: Nov 2008
Сообщений: 7
Ну на самом деле создать класс и перенести функции как методы - вполне работает. Наверное, это и есть правильно с т.зр. ООП..

Старый 24.11.2008, 17:23
litebox вне форума Посмотреть профиль Отправить личное сообщение для litebox Найти все сообщения от litebox
  № 5  
Ответить с цитированием
litebox
 
Аватар для litebox

Регистрация: Jul 2008
Адрес: Украина, Киев
Сообщений: 253
Вообще то да, создавать отдельный класс и переносить туда часть функционала, и желательно не просто часть: функции от А до И - в один класс, а от К до Я - в другой. А выделить логические объекты, которые и должны нести в себе (инкапсулировать) определенные функции.
Как пример - автомобиль:
двигатель - один класс (инкапсулирует функции "завести", "заглушить", "естьЛиБензин")
колесо - другой - ("поворотВЛево", "поворотВПраво", "толщинаПротектора")
Все это можно описать в одном классе - "Автомобиль", а можно разбить на вышеперечисленные, и хранить в классе "Автомобиль" интерфейсы на двигатель, колеса и т.д.
Также можно разгрузить класс по средством наследования, когда классы выстраиваются в определенную иерархию, в книгах по С++ любят приводить пример с млекопитающими
Овчарка -> собака -> млекопитающее...

Старый 24.11.2008, 18:05
Alex Lexcuk вне форума Посмотреть профиль Отправить личное сообщение для Alex Lexcuk Посетить домашнюю страницу Alex Lexcuk Найти все сообщения от Alex Lexcuk
  № 6  
Ответить с цитированием
Alex Lexcuk

блогер
Регистрация: Mar 2008
Адрес: Донецк_city
Сообщений: 1,094
Записей в блоге: 5
Пример хорошо разбивания на классы в топике Аркадной игры и Текстового редактора.
Нехорошего
http://www.dnadillo.dn.ua/fla/robot-3-step.html

Создать новую тему Ответ Часовой пояс GMT +4, время: 18:33.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 18:33.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.