多态


多态

指的是同一个行为,对于不同的事物具有完全不同的表现形式


  1. %p 打印的是指针变量的值
  2. %@打印的是指针指向的对象
  3. 如果我们使用%@打印一个对象
  • 输出的格式:<对象所属的类名:对象的地址>
  1. 原理: 当我们使用%@打印一个对象的时候,NSlog函数的底层实现
  • 调用传入的对象的description方法
  • 拿到这个方法的返回值,这个返回值是一个字符串
  • 将这个字符串输出
  1. description方法是定义在NSObject类之中的,每个OC对象都有这个方法,这个方法在NSobject类中的实现是这样的: 返回的字符串格式 @“<对象所属的类名:对象的地址>” 6.什么时候需要重写descripton方法呢? 如果你洗碗实现%@打印一个对象的时候,你希望这个对象打印的个数是我们自己定义的,那么就可以重写这个方法。
-(NSString *)description
{
	return [NSString stringWithFormat:@"姓名:%@年龄:%d",_name,_age]
}
学习