2011-gre-cs-practice-book.pdf/Q52 — различия между версиями

Материал из DISCOPAL
Перейти к: навигация, поиск
(Объяснение)
 
(не показано 8 промежуточных версий 1 участника)
Строка 5: Строка 5:
 
=== Ответы ===
 
=== Ответы ===
  
* (A) Экземпляр подтипа может использоваться в любом выражении, где можно использовать экземпляр супертипа, потому что подтип должен поддерживать супернабор операций, которые поддерживает супертип.
+
* Правильный вариант: Экземпляр подтипа может использоваться в любом выражении, где можно использовать экземпляр супертипа, потому что подтип должен поддерживать супернабор операций, которые поддерживает супертип.
* (B) Экземпляр подтипа может использоваться в любом выражении, где можно использовать экземпляр супертипа, потому что подтип должен поддерживать поднабор операций, которые поддерживает супертип.
+
* Экземпляр подтипа может использоваться в любом выражении, где можно использовать экземпляр супертипа, потому что подтип должен поддерживать поднабор операций, которые поддерживает супертип.
* (C) Экземпляр супертипа может использоваться в любом выражении, где можно использовать экземпляр подтипа, потому что подтип должен поддерживать супернабор операций, которые поддерживает супертип.
+
* Экземпляр супертипа может использоваться в любом выражении, где можно использовать экземпляр подтипа, потому что подтип должен поддерживать супернабор операций, которые поддерживает супертип.
* (D) Экземпляр супертипа может использоваться в любом выражении, где можно использовать экземпляр подтипа, потому что подтип должен поддерживать поднабор операций, которые поддерживает супертип.
+
* Экземпляр супертипа может использоваться в любом выражении, где можно использовать экземпляр подтипа, потому что подтип должен поддерживать поднабор операций, которые поддерживает супертип.
* (E) Экземпляры подтипов и супертипов могут использоваться взаимозаменяемо.
+
* Экземпляры подтипов и супертипов могут использоваться взаимозаменяемо.
  
 
=== Объяснение ===
 
=== Объяснение ===
 
{{cstest-source|2011-gre-cs-practice-book.pdf|39|52}}
 
{{cstest-source|2011-gre-cs-practice-book.pdf|39|52}}
  
В вопросе идёт речь о приниципе подстановки Лисков [https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%B8%D0%BD%D1%86%D0%B8%D0%BF_%D0%BF%D0%BE%D0%B4%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B8_%D0%9B%D0%B8%D1%81%D0%BA%D0%BE%D0%B2].
+
Фактически вопрос касается приниципа подстановки Лисков [https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%B8%D0%BD%D1%86%D0%B8%D0%BF_%D0%BF%D0%BE%D0%B4%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B8_%D0%9B%D0%B8%D1%81%D0%BA%D0%BE%D0%B2].
 +
Подтип как минимум должен поддерживать все операции супертипа, чтобы его можно было безопасно подставлять на место супертипа, поэтому правильный вариант — «Экземпляр подтипа может использоваться в любом выражении, где можно использовать экземпляр супертипа, потому что подтип должен поддерживать супернабор операций, которые поддерживает супертип».
  
Подтип как минимум должен поддерживать все операции супертипа, чтобы его можно было безопасно подставлять на место супертипа, поэтому правильный вариант - (A).
+
{{question-ok|[[Участник:StasFomin|StasFomin]] 10:57, 9 января 2025 (UTC)}}
  
{{question-ok|}}
+
[[Категория:OOP]]
{{reserve-task|[[Участник:Nikitashapovalov|Nikitashapovalov]] 20:36, 8 января 2025 (UTC)}}
+

Текущая версия на 10:57, 9 января 2025

Вопрос: Q52-08c765

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

Ответы

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

Объяснение

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

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