多态
指是同一个行为,具备多种形态(对于不同的事物具有完全不同的表现形式).
description
NSLog 在打印字符时, 会先调用description 方法, 这个方法的返回值是一个字符串, 后输出这个字符串
descrption 的定义是在NSObject 类之中的,所有每个OC对象都有此方法 如:[p1 description]
什么时候重写:如果你希望%@打印一个对象的时候,你希望这个对象打印的个数是我们自己定义的,就可以重写此方法
CODE
NSString *name = @"dddd";
[name length];
//description
Person *p1 = [Person new];
NSLog(@"%p", p1); //指针变量的值: 0x100107450
NSLog(@"%@", p1); //<Person: 0x100107450>
NSLog(@"%@", [p1 description]); //<Person: 0x100107450>
//如果不想它上面格式输出,就要重写NSObject 的description 方法---实例在Person 中重写了此方法
[p1 setName:@"Tom"];
NSLog(@"%@", p1); //姓名:Tom