Давайте придумаем и обсудим класс , который будет называться VideoGame (видеоигра).Этотклассможетиметьнесколькоме тодов,из которых будет ясно , что могут делать объекты этого класса: начать игру,остановитьеё,сохранить(запомнить)счет итакдалее.
Kласс VideoGame будетпохожнадругиеклассы,которыепредставляют видео игры – у всех у них есть экраны , правда, разного цвета и размера,всеонивыполняютпо хожиедействия,ивсеонистоятденег.
А теперь давайте добавим побольше конкретных деталей и создадим другой класс называемый GameBoyAdvance – когда то популярная в Америке электронная игра. Этот класс тоже принадлежит семейству видеоигр,однакоонбудетиме ть некоторыеат рибуты,которыеимеет толькоигра GameBoy Advance, напримертипкассеты.
В этом примере класс GameBoyAdvance объявляет два ат рибута – cartridgeType and screenWidth идваметода – startGame()и stopGame(). Ноэтиметодыещёнеготовывыполнятькакие либодействия,потому что у них нет никакого программног о кода между фигурными скобочками.
Фабричное описание игры GameBoy Advance имеет такое же отношение к уже сделанной игре, как Java класс к его экземпляру в памятикомпьютера.Апроцессизготовлениянастоящихигрнаоснове такого описания , похож на процесс создания экземпляров объектов GameBoyAdvance наязыке Java.
Во многих случаях программа может пользоваться классом только послесозданияегоэкземпляра.Производителиигрведьтожесоздают тысячикопийпоодномуитом ужеописанию.Несмотрянато,чтоэти копии представляют тот же самый класс, их ат рибуты могут иметь разныезначения какие тоизнихголубые,какие топерламутровые,и так далее. Иными словами, программа может создавать множество экземпляровобъектов GameBoyAdvance.