property 必须先全部初始化 --> super.init 如果不显式调用, 系统会自动调用....在调用 super.init 之前,不能调用任何实例方法,因为对象还没有效初始化.
* 用 closure 指定默认值和属性的get/set 方法的区别在于 声明有个等号(=),说明前者是个赋值操作....Nested Types
* 支持类型嵌套定义,这已经是很大的突破了.
* 即使在函数内部,也可以定义新的类型.
* 可以用.语法,访问嵌套定义的类型....Access Control
* 默认访问级别是 internal,可以在定义它的模块内的各个源文件之间自由使用.
* fileprivate 和 private 并存,是因为swift中允许类型嵌套定义....
* 子类的访问级别不能比父类更宽松;但是子类可以通过重写机制,使父类的成员的访问级别变的更宽松.