Руководство по actionscript. часть 1, стр. 116

Листинг 6.2. Пример отношения композиции

// Класс Rectangle public class Rectangle {

protected var w = 0;

protected var h = 0;

public function Rectangle (width, height) { setSize(width, height);

}

public function setSize (newW, newH) { w = newW; h = newH;

}

public function getArea ( ) { return w * h;

}

}

// Это новый класс Square public-class Square { private var r;

public function Square (side) { r = new Rectangle(side, side);

}

public function setSize (side) { r. setSize(side, side);

}

public function getArea ( ) { return r. getArea( );

}

}

Отношения «является», «имеет» и «использует». В разговорной речи отношение наследования, присущее объектно-ориентированным языкам программирования, называется отношением «является» (Is-А), поскольку экземпляр подкласса в буквальном смысле можно рассматривать как экземпляр его суперкласса (то есть экземпляр подкласса может быть использован везде, где это допустимо применением экземпляра его суперкласса). В предыдущем примере полиморфизма экземпляр класса Circle «является» экземпляром класса Shape, поскольку класс Circle унаследован от Shape и, следовательно, может использоваться везде, где используется Shape.

Отношение композиции называется отношением «имеет», поскольку внешний класс содержит экземпляр внутреннего класса. Не следует путать отношение «имеет» с отношением «использует», когда некоторый класс создает объект другого класса, но не присваивает созданный объект переменной экземпляра. В отношении «использует» класс использует объект, а затем выбрасывает его. Например, класс Circle мо-

жет хранить числовое значение цвета в переменной color («имеет» объект класса uint), но впоследствии может временно воспользоваться объектом класса Color, чтобы отобразить этот цвет на экране («использует» объект класса Color).

В листинге 6.2 класс Square «имеет» экземпляр класса Rectangle п налагает на него ограничения, которые фактически превращают класс Rectangle в Square. В случае с классами Square и Rectangle отношение «является» выглядит более естественным, однако можно использовать и отношение «имеет». В этой связи возникает вопрос: какое отношение лучше?

google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru

Оставить комментарий

Вы должны авторизоваться для отправки комментария.

Полезные ссылки
Случайные записи
  • 16.03.2011">Руководство по actionscript. часть 3, стр. 028
  • 21.03.2011">Руководство по actionscript. часть 2, стр. 034
  • 23.01.2011">Руководство по actionscript. часть 1, стр. 038
  • 20.03.2011">Советы web-дизайнеру
  • 21.03.2011">Руководство по actionscript. часть 2, стр. 049
  • 23.01.2011">Руководство по actionscript. часть 1, стр. 057
  • 15.03.2011">Руководство по actionscript. часть 3, стр. 045
  • 02.03.2011">Руководство по actionscript. часть 5, стр. 101
  • 12.06.2010">Самоучитель по креативному веб-дизайну. Книга 4, стр.112
  • 16.06.2010">Самоучитель по креативному веб-дизайну. Книга 4, стр.22
  • 07.11.2011">10 примеров навигации по сайту
  • 11.03.2011">Руководство по actionscript. часть 3, стр. 147
  • 05.03.2011">Руководство по actionscript. часть 5, стр. 008
  • 10.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.108
  • 13.06.2010">Самоучитель по креативному веб-дизайну. Книга 4, стр.88
Опрос

Какие цвета вы предпочитаете?

View Results

Loading ... Loading ...