Регистрация: Nov 2006
Сообщений: 223
|
Пример 1.
Аркадная игра. Бегает мужичок, стреляет в монстряков, собирает бонусы.
У мужичка есть разные параметры: очки, здоровье, патроны, и всякие там ключи для открывания дверей.
Где будем это всё хранить?
Пример 2.
Есть 10 кнопочек, которые при нажатии должны издавать одинаковый звук. Разумеется, загружать 10 раз один и тот же звук глупо - достаточно один раз и его всегда использовать.
Конечно, можно его впихнуть в какую-нибудь статическую переменную.
Но у 11-й кнопки звук должен быть уникальным, а не таким, как у других.
Как решим это через статику?
Пример 3.
Допустим, делаем какой-то графический редактор, позволяющий манипулировать различными геометрическими фигурами.
Фигуры могут быть сгруппированы.
Но при этом необходимо сделать так (требования конкретно данного приложения), чтобы фигуры всегда принадлежали некоторой группе.
Т.е. когда создаём новую фигуру, она должен быть помещена в некоторую DefaultGroup.
Разумеется, что группа по умолчанию должна быть одна и общая для всех. В чём-то её фунциональность повторяет все остальные группы, но есть свои особенности (т.е. наследуется от некоего класса, но переопределяет методы).
При этом фигура должна единообразно хранить ссылку на группу, которой принадлежит, не зависимо от того, дефалтная она или обычная (полиморфизм).
|