黑马程序员技术交流社区

标题: OC基础-知识小结 [打印本页]

作者: Yip-Jun    时间: 2015-11-30 23:57
标题: OC基础-知识小结
本帖最后由 Yip-Jun 于 2015-12-1 00:00 编辑

1, self在类方法和对象方法使用的区别?
/*
self 作用在类方法中,代表的时当前类,只有类名才能调用类方法
self 作用在对象方法中,代表调用者,只有对象才能调用对象方法
*/

2,变量的作用域有哪四种?
/*
@public    公开的--->作用与所有的类
@protected 受保护的--->作用于当前类,子类(派生类)
@private   私有的--->作用于当前类
@package   框架级别的--->作用于框架级别的
*/

3,oc中如何表示继承?写代码说明;(比如Student继承Person)
/*
@interface  Person : NSObject

@end
@implementation Person

@end
@interface  Student : Person

@end
@implementation Student

@end
*/

4,继承体系中,方法调用的顺序是什么?
/*
在自己类中寻找
如果没有,去父类中寻找
如果没有,去父类的父类中寻找
如果没有,就往上找,直到直到基类(NSObiect)
如果基类也没有就报错
*/

5、有一个学生,学习累了的时候,就用电脑玩会游戏;
要求: 当学习到第三次或者第五次的时候,就用电脑玩游戏放松一下;

设计一个学生类Student;
有一个学习的方法:study
有一个学习的次数:time

有一个电脑类:Computer
电脑有个玩游戏的方法playGames;
要求:在类中加入私有变量和私有方法来实现。


#import <Foundation/Foundation.h>
@interface Computer : NSObject
-(void)playGames:(int)time;
@end

#import "Computer.h"
@implementation Computer
-(void)playGames:(int)time{
    NSLog(@"学生学习了 %d 次后,玩游戏休息",time);
}
@end

#import <Foundation/Foundation.h>
#import "Computer.h"
@interface Student : NSObject
{
//    @public
    NSString *_name;
    int _age;
       int _time;
    int _studyTime;
//    @private
//    Computer *_computer;
}
-(void)studyTime;
@end

#import "Student.h"
@implementation Student
-(void)studyTime{
    self -> _time = 10;
    for (int i =1; i<_time; i++) {
         _studyTime++;
        if (i ==5 ||i ==3) {
            [self relax];
        } else {
            continue;
        }
    }
}

-(void)relax{
    [[Computer new] playGames:_studyTime];
}
@end

#import <Foundation/Foundation.h>
#import "Student.h"
int main(int argc, const char * argv[]) {
    @autoreleasepool {
//        [Student study:10];
        Student *student =[Student new];
        [student studyTime];
        int time = 0;
//        Computer *computer = [Computer new];
    }
    return 0;
}




作者: 陈光慧    时间: 2015-12-1 00:09
学习了,多谢了。
作者: onlyanswer    时间: 2015-12-1 00:12
我们OC马上也要开课了,谢谢分享啊
作者: 唯有繁星    时间: 2015-12-1 00:15
                 谢谢分享
作者: IT-capfer    时间: 2015-12-1 00:23
强烈支持楼主ing
作者: 罗文强    时间: 2015-12-1 00:25
过几天我班也要OC阶段学习了,收藏以后看,谢谢楼主分享!
作者: 649685603    时间: 2015-12-1 11:31
学习了,多谢了。
作者: hei军    时间: 2015-12-1 14:28
支持楼主,现在有好多困惑的地方
作者: chensc    时间: 2015-12-1 20:58
学习学习!
作者: iOS-lye    时间: 2015-12-1 21:43
楼主题目在哪里找的啊,我也想找一点题目做一下,分享一下
作者: 重拾辉煌    时间: 2015-12-1 21:59
赞。看着不错。
作者: Newbee_123    时间: 2015-12-1 22:13
我们OC马上也要开课了,谢谢分享啊
作者: yako    时间: 2015-12-1 22:56
后天开课,可以先看看了,多谢!
作者: 不提也罢    时间: 2015-12-4 21:58
还有代码,感谢




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2