甘いスマン:
私はJavaでこのインタフェースを持っています:
public interface ErrorInfo {
String getCode();
String getMessage();
}
そして、私はそれがKotlinコードで上書きしたいです。私はそれを行うように見えることはできません。
ここに私が試したものです:
ここで、私はエラーを取得すること '<field> overrides nothing'
class ErrorInfoImpl(
override val code: String,
override val message: String
) : ErrorInfo
ここでは、私は同じエラーを取得します '<field> overrides nothing'
class ErrorInfoImpl(
code: String,
message: String
) : ErrorInfo {
override val code: String = code
override val message: String message
}
このコードは動作しますが、それは汚れて見えます:
class ErrorInfoImpl(
private val __code: String,
private val __message: String
) : ErrorInfo {
override fun getCode(): String = __code
override fun getMessage(): String = __message
}
これを行うには良い方法はありますか?
shazin:
契約は持っていることですgetCode()
し、getMessage()
唯一の方法。それは何を返すと、クラスを実装までです。この場合、クリーンは以下の通りです:
class ErrorInfoImpl(
private val code: String,
private val message: String
) : ErrorInfo {
override fun getCode(): String = code
override fun getMessage(): String = message
}