Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Где расположить метод ответственный за взаимодействия двух объектов? (http://www.flasher.ru/forum/showthread.php?t=209358)

PlutDem 02.11.2014 17:57

Где расположить метод ответственный за взаимодействия двух объектов?
 
Здравствуйте, предположим нужно реализовать посадку водителя в машину. Во время посадки, водителю и машине нужно провести ряд операций, связанных с этим действием: водителю - привести себя в сидячее положение, машине запустить голосовое приветствие, например. Вот только в какой класс добавить метод реализующий это действие? Ведь нехорошо если, например, в классе водителя будет присутствовать код, реализующий поведение машины и наоборот? Как тогда быть? Вынести метод в отдельный класс осуществляющий взаимодействие машины и водителя, оставив в последних только данные без логики?

Партизан 02.11.2014 21:29

Мне представляется примерно так:
Человек>Предмет>Автомобиль>Войти как водитель.
Автомобиль>Взаимодействие с человеком>Водитель>Авторизация объекта как "Водитель"
Человек>Сесть на водительское кресло, положить руки на руль.
Ну образно...

expl 03.11.2014 01:03

Попробуйте написать Car и Driver без логики, просто с переменными состояния,
сделать метод "сестьВМашину" в каком-нибудь CarController, который будет менять состояние car и dirver

А уже потом, если появятся разные машины, делайте интерфейс ICar и реализовывайте отличающееся для разных машин поведение.
Соответственно код CarController, различающийся для разных машин, будет заменён на вызов методов ICar

Это так, один из вариантов. Вдруг поможет выйти из ступора


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

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