天天看点

OC开发日记02-类和对象今天主要来分析一下OC的类和对象

今天主要来分析一下OC的类和对象

  • 面向过程的语言和面向对象的语言

    我们知道,C语言和OC语言最大的区别在于,一个是面向过程的语言,一个是面向对象的语言。

    两者的概念分别是:

面向过程的语言就是分析出解决问题所需要的步骤,然后用函数将这些步骤一步一步的实现,使用的时候一个一个一次调用就可以了。

面向对象的语言时把构成问题的事务分解成各个对象,然后协调各个对象之间的联系和通讯,建立对象的目的不是为了完成一个步骤,而是为了描述某个事物在整个解决问题的步骤中的行为。

而OC作为一个面向对象的语言,是以功能来划分问题而不是步骤,比如同样是绘制一个五子棋程序,如果要加入一个悔棋的功能

,OC只需要对规则系统以及棋盘对象进行调整,而不需要去大幅度改动程序。

  • OC类的使用以及对象的使用

    oc语言的特点(p4):

    oc语言是c语言的超集

    oc语言具备完善的面向对象的特征

    oc有个运行时系统(runtime)

    OC开发日记02-类和对象今天主要来分析一下OC的类和对象
    OC开发日记02-类和对象今天主要来分析一下OC的类和对象

    新建类我们可以通过command键加n键选择第一个来快速实现

    头文件要用双引号引入自定义的类文件。

    OC开发日记02-类和对象今天主要来分析一下OC的类和对象
    这是一个声明文件的例子
```
#import "<#header#>"  //导入自定义类的头文件
 #import<header>   //导入ios框架类库里类的头文件
           

创建成功后,我们会发现,类分为一个声明文件和一个实现文件,声明文件用于声明类里面的对象以及类里面的相关方法

@interface student : NSObject  //在oc中继承的语法“类名:父类名”
{
    //成员变量
    //用来定义类的属性
    @public
    NSString *_name;
//    @protected
    NSInteger *_age;
    @private
    NSString *_hobby;
    @protected
    NSString *_address;
    /*
     属性的作用域
     @public   公开的,任何类的方法都可以访问
     @protected 受保护的,只有类本身和类的子类可以访问
     @private  私有的,只有类的本身可以访问
     */
}
//方法声明
/*
 减号(-)表明了该方法是实例方法,类方法则用加号(+)。
void表示无返回值类型,其他的类型还有
        NSString、NSInteger,CGFloat、、、
 */
-(void)sayHello;
-(NSString *)eatlunch;
+(NSString *)playGame;
@end
           

这是一个实现文件的例子

OC开发日记02-类和对象今天主要来分析一下OC的类和对象
//@implementation 和 @end  实现文件的开始和结束,在其中实现接口文件中声明的方法。
@implementation student
-(void)sayHello{
    NSLog(@"Hello everybody!!!");

}
-(NSString *)eatlunch{
    if(_age < ){
    //    return @"今晚有空吃饭吗";
        return [NSString stringWithFormat:@"%@小姐,今晚有空吃饭吗",_name];
    }
    else{
        return [NSString stringWithFormat:@"%@小姐,今晚我没空吃饭",_name];
    }
}
+(NSString *)playGame{
    return @"play lol";
//    if( _hobby ==game){
//        return [NSString stringWithFormat:@"%@小姐,看来你也是一个爱玩游戏的人",_name];
//    }
//    else{
//        return[NSString stringWithFormat:@"%@小姐,看来你是一个认真学习的人",_name];
//    }
}
@end
           

继续阅读