您的位置:首页 > 移动开发 > Objective-C

OBJ-C动态类型&静态类型学习笔记

2016-05-01 03:55 519 查看
==============================================================================

                                动态类型&静态类型

==============================================================================

动态类型&静态类型

多态:允许不同的类定义相同的方法;

动态类型:程序直到执行时才能确定所属的类;

静态类型:将一个变量定义为特定类的对象时,使用的是静态形态; 

----------------------------------------------------------------------

instancetype和id的异同

相同点:

1.都可以作为方法的返回类型;

不同点

1.instancetype可以返回和方法所在类相同类型的对象,id只能返回未知类型的对象;

2.instancetype只能作为返回值,不能像id那样作为参数;

----------------------------------------------------------------------------

动态绑定

在OC中,一个对象是否调用指定方法不是由编译器决定而是由运行时决定,这被称作方法的动态绑定。

-----------------------------------------------------------------------------

动态类型检测方法

对象在运行时获取其类型的能力成为内省。内省可以有多种方法实现。

1.判断类型

-(BOOL) isKindOfClass: classObj  判断实例对象是否是这个类或者这个类的子类的实例。

-(BOOL) isMemberOfClass: 判断是否是这个类的实例,不管是否是这个类的子类的实例;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  objective-c