------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
id类型
/*
id 类型
id 类型,定义的对象,是一个万能指针(可以指向任何对象)
id类型和NSObject相比优点:
1> id是运行的时候,才去检查类型,NSObject是编译的时候,开始检查
2> id类型不需要强制类型转换,NSObject需要强制类型转换
id类型不能使用.方法
因为id是动态检测
.方法是静态检测
*/
#import <Foundation/Foundation.h>
@interface Car : NSObject
{
int _speed;
}
@property int speed;
- (void)run;
@end
@implementation Car
- (void)run
{
NSLog(@"Car的速度是%d",_speed);
}
@end
@interface Bus : Car
@property int lzNum;
@end
@implementation Bus
- (void)run
{
NSLog(@"bus的速度是%d",_speed);
}
@end
int main(int argc, const char * argv[]) {
@autoreleasepool {
// 创建一个Car类的对象
Car *c = [Car new];
c.speed = 100;
id car;
car = c;
[car run];
//[car setSpeed:50];
//[car run];
car = [Bus new];
[car setSpeed:50];
[car run];
Car *b = [Bus new];
b.speed = 200;
[b run];
id bus = b;
[bus run];
}
return 0;
}