美文网首页
每天学一点Swift----面向对象上(十一)

每天学一点Swift----面向对象上(十一)

作者: 冯可乐同学 | 来源:发表于2017-06-02 21:29 被阅读1次

    十三.类型属性和类型方法

    1.通过前面的学习,已经知道Swift的类型中有5种成员:属性(存储属性和计算属性)、方法、下标、构造器和嵌套类型。而且属性和方法都可以分为两种:实例的属性/方法和类型的属性/方法

    2.值类型的属性:值类型包括枚举和结构体两种。值类型的属性用static关键字关键字修饰。--不管是存储属性还是计算属性。

    3.枚举可以包含类型属性。包括类型存储属性和类型计算属性。-----****注意:枚举只能包含实例的计算属性,不能包含实例存储属性。

    4.结构体可以包含类型属性,包括类型存储属性和类型计算属性----结构体也可以包含实例计算属性和实例存储属性

    5.类的类型属性用class修饰,类里面不允许定义类型存储属性,类只能包含类型计算属性。

    6. Swift不允许在类中定义类型存储属性,有些时候程序确实需要在类中保存类型相关的状态,但Swift不允许通过类型存储属性来实现(可以通过全局变量来实现)。这个设计非常奇怪,可能是为了和Objective-C兼容的结果

    7.值类型的方法:使用static修饰,属于类型本身。

    8.类型方法不能直接访问实例成员,如果希望在类型方法中访问实例成员,必须先创建该类型的实例,然后通过实例调用成员。

    9.类型方法可以直接访问类型成员,如果类型方法中包含了与类型属性命名相同的局部变量,此时局部变量将会隐藏类型属性,程序可以通过self强制访问类型属性。

    10.类的类型方法也使用关键字class修饰。

    11.类型方法可以直接方法类中的类型成员,也可以通过self明确指定访问类中的类型成员。

    相关文章

      网友评论

          本文标题:每天学一点Swift----面向对象上(十一)

          本文链接:https://www.haomeiwen.com/subject/wzzufxtx.html