Я прочитал раздел программирования в Scala, где abstract override
введен, но я все еще смущен тем, что именно обозначается объединением этих модификаторы. Ниже приведен фрагмент кода, в котором используются эти модификаторы:
trait Doubling extends IntQueue {
abstract override def put(x: Int) { super.put(2 * x) }
}
В частности, в этом случае я смущен целью abstract
и почему мы не можем достичь ожидаемых результатов просто с помощью ключевого слова override
. Если бы мы не включили вызов super
, нам понадобилось бы ключевое слово abstract
? Почему или почему нет? Я ищу подробное объяснение этого ключевого слова combo, поскольку оно относится к элементарным признакам.