2011-gre-cs-practice-book.pdf/Q52

Материал из DISCOPAL
< 2011-gre-cs-practice-book.pdf
Версия от 10:57, 9 января 2025; StasFomin (обсуждение | вклад)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Вопрос: Q52-08c765

Принцип подстановки подтипов описывает, когда один тип может быть заменён другим. Какое из следующих утверждений является верным?

Ответы

  • Правильный вариант: Экземпляр подтипа может использоваться в любом выражении, где можно использовать экземпляр супертипа, потому что подтип должен поддерживать супернабор операций, которые поддерживает супертип.
  • Экземпляр подтипа может использоваться в любом выражении, где можно использовать экземпляр супертипа, потому что подтип должен поддерживать поднабор операций, которые поддерживает супертип.
  • Экземпляр супертипа может использоваться в любом выражении, где можно использовать экземпляр подтипа, потому что подтип должен поддерживать супернабор операций, которые поддерживает супертип.
  • Экземпляр супертипа может использоваться в любом выражении, где можно использовать экземпляр подтипа, потому что подтип должен поддерживать поднабор операций, которые поддерживает супертип.
  • Экземпляры подтипов и супертипов могут использоваться взаимозаменяемо.

Объяснение

Исходники — вопрос 52 на 39 странице книги «2011-gre-cs-practice-book.pdf»

Фактически вопрос касается приниципа подстановки Лисков [1]. Подтип как минимум должен поддерживать все операции супертипа, чтобы его можно было безопасно подставлять на место супертипа, поэтому правильный вариант — «Экземпляр подтипа может использоваться в любом выражении, где можно использовать экземпляр супертипа, потому что подтип должен поддерживать супернабор операций, которые поддерживает супертип».

[ Хронологический вид ]Комментарии

(нет элементов)

Войдите, чтобы комментировать.