为什么要使用便捷init而不是仅仅为类属性设置默认值?
答案 0 :(得分:1)
便捷初始化程序可用于与默认值无关的各种事物。他们可以提供数据转换或许多其他功能。在此示例中,便捷初始化程序允许您将Float传递给需要Int。
的内容ggplot() +
stat_ecdf(data=ir.d, aes(x, colour=variable), alpha=0.8) +
geom_line(data=denss, aes(x, cd, colour=group)) +
theme_classic()
当然,这也可以写为指定的(非便利)初始化程序,但是委托给少量指定的初始化程序会使子类化变得更加简单,并且可以减少代码重复(因此"便利性")。
答案 1 :(得分:0)
您并不总是为类属性提供默认值,有时您创建一个具有属性和方法的类,以及稍后在创建该类的实例时可能获得的属性的所有值。为此,使用了init。