2011-gre-cs-practice-book.pdf/Q52 — различия между версиями
Материал из DISCOPAL
StasFomin (обсуждение | вклад) (Новая страница: « == Вопрос: Q52-08c765 == <i>Тут вставьте перевод вопроса. Используйте [https://wiki.4intra.net/Help:%D0%A4%D0%BE%D1%80…») |
StasFomin (обсуждение | вклад) |
||
(не показано 14 промежуточных версий 1 участника) | |||
Строка 1: | Строка 1: | ||
− | |||
== Вопрос: Q52-08c765 == | == Вопрос: Q52-08c765 == | ||
− | + | Принцип подстановки подтипов описывает, когда один тип может быть заменён другим. Какое из следующих утверждений является верным? | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
=== Ответы === | === Ответы === | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
+ | * Правильный вариант: Экземпляр подтипа может использоваться в любом выражении, где можно использовать экземпляр супертипа, потому что подтип должен поддерживать супернабор операций, которые поддерживает супертип. | ||
+ | * Экземпляр подтипа может использоваться в любом выражении, где можно использовать экземпляр супертипа, потому что подтип должен поддерживать поднабор операций, которые поддерживает супертип. | ||
+ | * Экземпляр супертипа может использоваться в любом выражении, где можно использовать экземпляр подтипа, потому что подтип должен поддерживать супернабор операций, которые поддерживает супертип. | ||
+ | * Экземпляр супертипа может использоваться в любом выражении, где можно использовать экземпляр подтипа, потому что подтип должен поддерживать поднабор операций, которые поддерживает супертип. | ||
+ | * Экземпляры подтипов и супертипов могут использоваться взаимозаменяемо. | ||
=== Объяснение === | === Объяснение === | ||
− | + | {{cstest-source|2011-gre-cs-practice-book.pdf|39|52}} | |
− | {{cstest-source|2011-gre-cs-practice-book.pdf| | + | |
− | + | ||
− | + | ||
− | + | Фактически вопрос касается приниципа подстановки Лисков [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]. | |
− | + | Подтип как минимум должен поддерживать все операции супертипа, чтобы его можно было безопасно подставлять на место супертипа, поэтому правильный вариант — «Экземпляр подтипа может использоваться в любом выражении, где можно использовать экземпляр супертипа, потому что подтип должен поддерживать супернабор операций, которые поддерживает супертип». | |
− | + | ||
− | + | {{question-ok|[[Участник:StasFomin|StasFomin]] 10:57, 9 января 2025 (UTC)}} | |
− | + | [[Категория:OOP]] |
Текущая версия на 10:57, 9 января 2025
Вопрос: Q52-08c765
Принцип подстановки подтипов описывает, когда один тип может быть заменён другим. Какое из следующих утверждений является верным?
Ответы
- Правильный вариант: Экземпляр подтипа может использоваться в любом выражении, где можно использовать экземпляр супертипа, потому что подтип должен поддерживать супернабор операций, которые поддерживает супертип.
- Экземпляр подтипа может использоваться в любом выражении, где можно использовать экземпляр супертипа, потому что подтип должен поддерживать поднабор операций, которые поддерживает супертип.
- Экземпляр супертипа может использоваться в любом выражении, где можно использовать экземпляр подтипа, потому что подтип должен поддерживать супернабор операций, которые поддерживает супертип.
- Экземпляр супертипа может использоваться в любом выражении, где можно использовать экземпляр подтипа, потому что подтип должен поддерживать поднабор операций, которые поддерживает супертип.
- Экземпляры подтипов и супертипов могут использоваться взаимозаменяемо.
Объяснение
Исходники — вопрос 52 на 39 странице книги «2011-gre-cs-practice-book.pdf»
Фактически вопрос касается приниципа подстановки Лисков [1]. Подтип как минимум должен поддерживать все операции супертипа, чтобы его можно было безопасно подставлять на место супертипа, поэтому правильный вариант — «Экземпляр подтипа может использоваться в любом выражении, где можно использовать экземпляр супертипа, потому что подтип должен поддерживать супернабор операций, которые поддерживает супертип».