Материал: Вопросы ИТ

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

https://www.baeldung.com/scala/lazy-val

https://stackoverflow.com/questions/7484928/what-does-a-lazy-val-do

48. Абстрактные классы Scala

49. Синглтон

50. Объекты-компаньоны

Объект с тем же именем, что и класс называется объект компаньон (companion object). И наоборот, класс является классом-компаньоном объекта. Класс или объект компаньон может получить доступ к приватным членам своего спутника. Используйте объект компаньон для методов и значений, которые не специфичны для экземпляров класса компаньона.

51. Почему в Scala не поддерживается множественное наследование?

В Scala множественное наследование реализуется с применением трэйтов (не знаю как эта концепция называется по-русски). Трэйты аналогичны абстрактному классу, но не имеют аргументов и у класса может быть несколько базовых классов-трэйтов:

trait Planar {

def height: Int

def width: Int

def surface = height * width

}

...

class Square extends Shape with Planar with Movable

Заметки о функциональном программировании. Наследование и полиморфизм. (bavadim.me) term5-scala (cdkrot.me)

Источник: https://studfile.net/preview/16556646/