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

Материал из DISCOPAL
Перейти к: навигация, поиск
(Новая страница: « == Вопрос: Q54-4c9f66 == <i>Тут вставьте перевод вопроса. Используйте [https://wiki.4intra.net/Help:%D0%A4%D0%BE%D1%80…»)
 
 
(не показаны 3 промежуточные версии этого же участника)
Строка 1: Строка 1:
 
 
== Вопрос: Q54-4c9f66 ==
 
== Вопрос: Q54-4c9f66 ==
 +
Шаблон проектирования [https://ru.wikipedia.org/wiki/%D0%9E%D0%B4%D0%B8%D0%BD%D0%BE%D1%87%D0%BA%D0%B0_(%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD_%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F) Singleton] используется, чтобы гарантировать, что может быть создан только один экземпляр класса.
  
<i>Тут вставьте перевод вопроса.
+
Что из приведенного ниже '''верно''' для этого шаблона проектирования?
Используйте [https://wiki.4intra.net/Help:%D0%A4%D0%BE%D1%80%D0%BC%D0%B0%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5 возможности разметки],
+
 
включая формулы и т.п, если будут графы — посмотрите как задать их текстом https://wiki.4intra.net/Graphviz .  
+
# Класс ''Singleton'' имеет статический [https://ru.wikipedia.org/wiki/%D0%A4%D0%B0%D0%B1%D1%80%D0%B8%D1%87%D0%BD%D1%8B%D0%B9_%D0%BC%D0%B5%D1%82%D0%BE%D0%B4_(%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD_%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F) фабричный метод] для cоздания своего экземпляра.
Потом конечно сотрите инструкции, которые тут курсивом.</i>
+
# Класс ''Singleton'' может быть подклассом другого класса.
 +
# У класса ''Singleton'' приватный конструктор.
  
 
=== Ответы ===
 
=== Ответы ===
<i>Если ответы простые, однострочные, используйте простой способ задания ответов списком, типа так
+
* Только 1
(префикс «Правильный ответ:» — это дословно, для правильного ответа)</i>
+
* Только 2
 +
* Только 3
 +
* 1 и 3
 +
* Правильный ответ: 1, 2, 3
  
* Правильный ответ: тут реально правильный ответ
+
=== Объяснение ===
* неправильный ответ
+
{{cstest-source|2004-gre-cs-practice-book.pdf|37|54}}
* еще какой-то неправильный ответ
+
* еще какой-то неправильный ответ
+
* еще какой-то неправильный ответ
+
  
<i>Если ответы длинные, многострочные, или там графы, используйте
+
* «…статичный фабричный метод…» — обычно да, почти всегда есть.
[https://wiki.4intra.net/MediawikiQuizzer/ru#.D0.9E.D1.82.D0.B2.D0.B5.D1.82.D1.8B способ задания ответов разделами],
+
* «приватный конструктор» — ну обычно да, если язык позволяет (не питон там), чтобы не наследовались и не обходили защиту от одиночки. Но вот утверждать на 100% как-то неправильно.
Но такое очень редко встречается. </i>
+
* «может быть подклассом» — вот блин, не уверен. Т.е. «[https://www.cs.unc.edu/~stotts/GOF/hires/pat3efso.htm Permits refinement of operations and representation. The Singleton class may be subclassed, and it's easy to configure an application with an instance of this extended class.]»
  
 +
Т.е. вижу проблему. Тут конечно все утверждения не совсем 100%, но либо требовать наличие приватного конструктора, либо разрешать сабклассинг (в языках с приватным конструктором), а в оригинале теста разрешали все варианты.
  
=== Объяснение ===
+
{{question-ok|[[Участник:StasFomin|StasFomin]] 23:02, 15 декабря 2024 (UTC)}}
<i>Сначала заполните номер страницы с этим вопросом
+
{{cstest-source|2004-gre-cs-practice-book.pdf|тут-номер-страницы-с-вопросом-54|54}}
+
 
+
Ну и наконец, вики-разметкой напишите ваше понимание, почему правильный ответ — правильный.</i>
+
  
{{question-ok|}}
+
[[Категория:OOP]]
 +
[[Категория:Разобраться]]

Текущая версия на 23:05, 15 декабря 2024

Вопрос: Q54-4c9f66

Шаблон проектирования Singleton используется, чтобы гарантировать, что может быть создан только один экземпляр класса.

Что из приведенного ниже верно для этого шаблона проектирования?

  1. Класс Singleton имеет статический фабричный метод для cоздания своего экземпляра.
  2. Класс Singleton может быть подклассом другого класса.
  3. У класса Singleton приватный конструктор.

Ответы

  • Только 1
  • Только 2
  • Только 3
  • 1 и 3
  • Правильный ответ: 1, 2, 3

Объяснение

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

Т.е. вижу проблему. Тут конечно все утверждения не совсем 100%, но либо требовать наличие приватного конструктора, либо разрешать сабклассинг (в языках с приватным конструктором), а в оригинале теста разрешали все варианты.