标签:
【掌握】03-self用在对象方法中
self 指代的是调用当前对象方法的那个对象
过一遍代码就懂来
【掌握】04-self用在类方法中
[p class]返回的实质就是当前类(类对象)
[self run]
【了解】 05-self修饰变量
self->speed = speed;
如果同名,局部变量会暂时屏蔽全局变量的作用域 int a = 10; a = a;
self->speed访问的是实例变量
加上self后表示访问的就是类的实例变量
不加self访问的局部变量
【掌握】08-继承的代码实现
BigYellowDog 本身(实际定义)没有吃和跑的行为,
但是 BigYellowDog 父类 Dog 有
所以,BigYellowDog 也就有了,因为继承过来的
继承格式妙不可言
@interface Dog : Animal
【掌握】11-实例变量修饰符介绍
@public 公开的, 在任何地方通过实例对象都可以访问
@private 私有的,表示只能在当前类中使用
@protected 受保护类型,表示只能在当前类和子类中访问
【掌握】12-实例变量修饰符对子类的影响
面试题:
@private 类型的变量,能否被子类继承?
子类可以继承父类的所有的实例变量和方法
但是,不是所有的都可以访问
@private 类型的变量,能否被子类访问?
不能访问
【掌握】13-OC中的私有变量
Person.m
#import "Person.h" //在.m中定义实例变量 //纯私有的变量,该变量只能在当前类中使用,不能被子类继承,也不能被访问 int m = 100; @implementation Person -(void)run{ NSLog(@"人在走,速度是%d",m); } -(void)eat{ NSLog(@"eat : m = %d",m); } @end
【掌握】14-OC中的私有方法
.h文件,可以看做是对外的一个接口
私有方法就是不声明但实现 只能自己类类中[self 私有方法]访问
私有方法(相对私有)
不能被子类继承
很简单,但你可以再看 视频
【掌握】15-description方法介绍及重写
当我们以%@的格式,打印了对象d,此时调用了对象的description方法
对象中如果没有重写父类的description方法,则调用父类的
这个应该比较重要,这个;里面有相当的细节
在类方法中不能访问实例变量,所以下面的写法是错误的 return [NSString stringWithFormat:@"年龄:%d,颜色:%d",_age,_color];
//以%@的形式,打印类信息 NSLog(@"\n%@ ",[d class]);
【掌握】16-多态的实现
多态实质要深入内存考虑,但仍有局限,比如你自己想想父类可以使用子类的特有方法,因为内存存在这个方法
父类不能使用子类的特有方法,原因却是编译检查的时候,一检查父类没这个方法就直接报错 ,只能向下转型
标签:
原文地址:http://www.cnblogs.com/kongweiiwei/p/4657916.html