方便初始化与自我初始化

时间:2018-01-04 17:17:26

标签: swift class initialization

为什么要使用便捷init而不是仅仅为类属性设置默认值?

2 个答案:

答案 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。