Добрый день.
Я хотел бы проконсультироваться по ошибочно отвеченным вопросам.
Задание 7
Рассмотрим следующие определения.
sealed trait Resource {
def goldEquiv: Int
}
class Gold extends Resource {
def goldEquiv = 1
}
trait MaterialResource extends Resource {
def goldEquiv = 50
}
class Ore extends MaterialResource
class Wood extends MaterialResource
trait PreciousResource extends Resource {
def goldEquiv = 200
}
class Gem extends PreciousResource
class Crystal extends PreciousResource
class Sulfur extends PreciousResource
class Mercury extends PreciousResource
Отметьте верные утверждения:
Исходя из принципов наследования и основываясь на иерархии типов заключил вывод что:
Crystal
и Ore
— Resource
;
Gold
, Wood
и Gem
— Resource
;
Wood
и Mercury
— PreciousResource
— НЕВЕРНО.
Gem
и Sulfur
— PreciousResource
. — ВЕРНО
Gold
, Wood
и Gem
— Any
. — ВЕРНО, т.к. все классы неявно наследуют этот тип.
Также ключевое слово sealed
гарантирует конечное количество конкретных классов. Исходя из этого я заключил что:
Resource
имеет ровно 7 реализаций (конкретных классов). — ВЕРНОДобрый день, Владимир Владимирович.
Распространённые затруднения именно на этой проверке знания. Позвольте вам прокомментировать очевидные ошибки:
Gold
, Wood
и Gem
— Any
. — неверно. Они имеют общий надтип — Resource
.
соответственно...
2. Ближайший общий надтип классов Gold
, Wood
и Gem
— Resource
. — верно.
3. Ближайший общий надтип классов Crystal
и Ore
— Resource
. — верно
Вообще, чтобы не комментировать дальше, обращу ваше внимание на то, что вопрос стоит о ближайшем ОБЩЕМ. Вам следует рассматривать не отдельно классы друг от друга, а в рамках общей иерархии наследования. Просто нарисуйте себе на бумажке какой класс наследуется от какого и все вопросы станут тривиальными.
Удачи Вам в обучении!
С уважением, Станислав Лахтин
Рассмотрим следующие Scala-файлы.
package com.myshop
package model
import collection.mutable.ListBuffer
class Customer(val name: String,
val address: String) {
protected val _orders = new ListBuffer[Order]
def orders = _orders.toSeq
def add(order: Order) {
_orders += order
}
}
package com.myshop.model
class Order(val customer: Customer,
val status: String,
val date: Date)
Отметьте верные утверждения.
com.myshop.model
видны в обоих файлах. — ВЕРНО
Customer
расширяет класс Order
. — НЕВЕРНО
com.myshop
видны в обоих файлах. — ВЕРНО
Order
неизменяемый. — ВЕРНО
Order
расширяет класс Customer
. — ВЕРНО
Order
неизменяемые. — ВЕРНО
Customer
неизменяемый. — ВЕРНО
Customer
неизменяемые. — ВЕРНО
Посмотрите, все-ли верно?
Добрый день, Владимир Владимирович.
Здесь у Вас несколько ошибок. Причём, судя по характеру этих ошибок, пробелы в освоении касаются сразу нескольких разделов.
Прокомментирую некоторые ошибки.
Не совсем понятно, почему все классы пакета com.myshop
будут видны. Повторите раздел об областях видимости.
Почему-то у вас класс Order
расширяет Customer
. Объясните, почему?
Повторите, что такое неизменяемый класс.
В общем, Вы совершили ошибки в разделах: наследование/расширение, области видимости, неизменности.
С уважением,
Станислав Евгеньевич Лахтин
Добрый день.
Я хотел бы проконсультироваться по ошибочно отвеченным вопросам.
com.myshop.model
видны в обоих файлах. — НЕВЕРНО
Customer
расширяет класс Order
. — НЕВЕРНО
com.myshop
видны в обоих файлах. — НЕВЕРНО
Order
неизменяемый. — ВЕРНО
Order
расширяет класс Customer. — НЕВЕРНО
Order
неизменяемые. — ВЕРНО
Customer
неизменяемый. — НЕВЕРНО
Customer
неизменяемые. — НЕВЕРНО
Добрый день, Владимир Владимирович.
С ВЕРНО выбранными ответами всё в порядке.
Давайте пройдёмся по ошибкам.
Ответьте сами себе на вопрос: чем отличаются (и отличаются ли?) эти две записи:
package com.myshop.model
и
package com.myshop
package model
а потом проанализируйте свой ответ в первом пункте списка ответов.
Теперь о полях класса Customer
. Давайте вы ответите сами себе на вопрос, чем отличается объявление с использованием val
от var
и можно ли переопределить объявление метода и преосмыслите ответ на этот пункт.
В остальном, вроде-бы верно всё.
С уважением,
Лахтин Станислав Евгеньевич
Файл itoghovaia_attiestatsiia_voprosy.docx был загружен.
Добрый день!
Ответ направлен на Ваш эл. адрес.
С уважением, Нелли
Имя файла | Размер | |
---|---|---|
itoghovaia_attiestatsiia_voprosy.docx | 48.3 KB |