您的位置:首页 > 移动开发 > Swift

swift 进阶笔记 (三) —— 元类型

2014-06-20 22:55 169 查看
元类型
元类型是指所有的类型的类型,包括类,结构体,枚举和协议等。

类,结构体,枚举的元类型:类型名.Type,比如:

class MyClass {
}
MyClass的元类型是 MyClass.Type

协议的元类型:协议名.Protocol, 比如:
protocol MyProtocol {
}
MyProtocol的元类型是 MyProtocol.Protocol

虽然不能直接这样用,但是我们会在报错提示中看到这样的字样。

下面说个我们可以拿来用的:
self
这个关键字我们之前经常会用,但是它还有另外的意思,比如:
MyClass.self 代表的是MyClass这个类的定义,而不是它的实例。在playground里可以看到 显示的是Metatype
同样的,协议也可以:
MyProtocol.self

实例中我们也可以获取运行时的类型





printClassName是个类方法, someInstance是基类的类型,现在他是子类的引用,在调用了 printClassName的时候,可以清楚的显示出,它调用的是子类的重写方法,多么明确的多态调用,赞!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: