2011-gre-cs-practice-book.pdf/Q52 — различия между версиями
Материал из DISCOPAL
(→Объяснение) |
(→Объяснение) |
||
Строка 19: | Строка 19: | ||
{{question-ok|}} | {{question-ok|}} | ||
− | {{ | + | |
+ | {{checkme|[[Участник:Nikitashapovalov|Nikitashapovalov]] 01:11, 9 января 2025 (UTC)}} |
Версия 01:11, 9 января 2025
Вопрос: Q52-08c765
Принцип подстановки подтипов описывает, когда один тип может быть заменён другим. Какое из следующих утверждений является верным?
Ответы
- Правильный вариант: (A) Экземпляр подтипа может использоваться в любом выражении, где можно использовать экземпляр супертипа, потому что подтип должен поддерживать супернабор операций, которые поддерживает супертип.
- (B) Экземпляр подтипа может использоваться в любом выражении, где можно использовать экземпляр супертипа, потому что подтип должен поддерживать поднабор операций, которые поддерживает супертип.
- (C) Экземпляр супертипа может использоваться в любом выражении, где можно использовать экземпляр подтипа, потому что подтип должен поддерживать супернабор операций, которые поддерживает супертип.
- (D) Экземпляр супертипа может использоваться в любом выражении, где можно использовать экземпляр подтипа, потому что подтип должен поддерживать поднабор операций, которые поддерживает супертип.
- (E) Экземпляры подтипов и супертипов могут использоваться взаимозаменяемо.
Объяснение
Исходники — вопрос 52 на 39 странице книги «2011-gre-cs-practice-book.pdf»
Фактически вопрос касается приниципа подстановки Лисков [1].
Подтип как минимум должен поддерживать все операции супертипа, чтобы его можно было безопасно подставлять на место супертипа, поэтому правильный вариант - (A). Решено: Nikitashapovalov 01:11, 9 января 2025 (UTC)