码迷,mamicode.com
首页 > 其他好文 > 详细

[oc第四天]【掌握】03-self用在对象方法中

时间:2015-07-18 23:57:09      阅读:189      评论:0      收藏:0      [点我收藏+]

标签:

【掌握】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-多态的实现

多态实质要深入内存考虑,但仍有局限,比如你自己想想父类可以使用子类的特有方法,因为内存存在这个方法
父类不能使用子类的特有方法,原因却是编译检查的时候,一检查父类没这个方法就直接报错 ,只能向下转型

 

[oc第四天]【掌握】03-self用在对象方法中

标签:

原文地址:http://www.cnblogs.com/kongweiiwei/p/4657916.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!