上級 › S3の print メソッドで NextMethod() を省略すると基底クラスの表示が失われる › パターン3
S3の print メソッドで NextMethod() を省略すると基底クラスの表示が失われる
S3クラスに独自のprint.myclassを定義するとき、NextMethod()を呼ばずに独自の出力だけを書くと、継承元のクラスが本来表示していた情報が完全に失われます。
1 x <- structure(list(model = "Phone", battery = 80), class = "device") 2 print.device <- function(x, ...) { 3 cat("Model:", x$model, "\n") 4 ____________ ^ 5 } 6 print(x)
出力: Model: Phone
空欄を埋めて実行を通す
独自のprintメソッドは継承元の表示を自動で足してはくれず、NextMethod()を書かない限りbatteryの値は失われます。
次の問題