Kotlin データ クラスがあります。
data class PaymentAccount(
val accountId: Int,
val accountNumber: String,
val title: String
)
これは私がJavaで行うことです:
抽象クラスを作成します。
public abstract class PaymentAccount {
protected int accountId;
protected String accountNumber;
protected String title;
public PaymentAccount(int accountId,
String accountNumber,
String title) {
this.accountId = accountId;
this.accountNumber = accountNumber;
this.title = title;
}
}
null オブジェクトを作成し、抽象クラスを拡張します。
public class NullPaymentAccount extends PaymentAccount {
public NullPaymentAccount() {
super(-1,
"Invalid account number",
"Invalid title");
}
}
実際のオブジェクトを作成し、抽象クラスも拡張します。
public class RealPaymentAccount extends PaymentAccount {
public RealPaymentAccount(int accountId,
String accountNumber,
String title) {
super(accountId,
accountNumber,
title);
}
}
KotlinでNull Objectパターンを適切に実装するには? 複数の方法がありますか?もしそうなら、最も簡潔でエレガントな方法は何ですか?