私はscalaに不慣れで、練習をしているだけです。私は非常に単純なプログラムを試しました。次のように簡単に説明しました。
abstract class Device(val cds: Array[Char]) {
var codes = Array[Char](cds: _*)
def encrpt(code: Char): Char
var nextDevice: Device
def setNext(next: Device):Unit = {
nextDevice = next
}
}
//compiler error shows here
class Input(codes: Array[Char]) extends Device(codes) {
override def encrpt(code: Char) = code
}
21行目にコンパイラエラーがあることがわかります。次のメッセージが表示 されます。com.me.acm.problem1009.DeviceタイプのクラスDeviceの変数nextDeviceが定義されていないため、クラス入力は抽象である必要があります(変数は定義するために初期化されます)
私の理解では、そのエラーをかなり混乱させています。親クラスでいくつかの変数とセッターメソッドを定義しているので、子クラスはそれを再度定義しなくても使用できます。それは簡単です。
私は何かを逃したと思います。誰かが私にそれを説明し、正しい方法を教えてもらえますか?ありがとう。