我的oc学习笔记二,认识面向对象

1.简单创建对象,并使用无参数无(有)返回值对象方法和无参数无(有)返回值类方法调用

#import <Foundation/Foundation.h>

@interface Person : NSObject
{
@public
    NSString *_name;
    int _age;
}

-(void)eat;

-(int)myAge;

+(void)run;

+(NSString *)myName;
@end


@implementation Person
//声明无参数无返回值对象方法
-(void)eat{
    NSLog(@"我吃了");
}

//声明无参数有返回值对象方法
-(int)myAge{
    return _age;
}

//声明无参数无返回值类方法
+(void)run{
    NSLog(@"我跑了");
}

//声明无参数有返回值类方法
+(NSString *)myName{
    //用不了_name全局变量,类方法不能访问类的属性,不能访问类的对象
    //return _name;
    return @"purpleCar";
}
@end



int main(int argc, const char * argv[]) {
    @autoreleasepool {
        
        Person * p =[Person new];
        //赋值
        p->_name = @"purpleDog";
        p->_age = 26;
        
        //访问 2中方式
        NSLog(@" 我的名字是 - %@,年龄是 - %d",p->_name,p->_age);
        NSLog(@" 我的名字是 - %@,年龄是 - %d",(*p)._name,p->_age);
        //无参数无返回值对象方法调用
        [p eat];
        //无参数有返回值对象方法调用
        NSLog(@"我的年龄是 - %d",[p myAge]);
        //无参数无返回值类方法调用
        [Person run];
        //无参数有返回值类方法调用
        NSLog(@"他的名字是 - %@",[Person myName]);
    }
    return 0;
}
/*
2016-08-20 17:09:05.865 2016.8.20练习1[1515:306304]  我的名字是 - purpleDog,年龄是 - 26
2016-08-20 17:09:05.865 2016.8.20练习1[1515:306304]  我的名字是 - purpleDog,年龄是 - 26
2016-08-20 17:09:05.865 2016.8.20练习1[1515:306304] 我吃了
2016-08-20 17:09:05.865 2016.8.20练习1[1515:306304] 我的年龄是 - 26
2016-08-20 17:09:05.865 2016.8.20练习1[1515:306304] 我跑了
2016-08-20 17:09:05.865 2016.8.20练习1[1515:306304] 他的名字是 - purpleCar
Program ended with exit code: 0
*/

2.简单创建对象 有参数无返回值对象方法和有参数无返回值类方法调用

#import <Foundation/Foundation.h>

@interface Person : NSObject
{
@public
    NSString *_name;
    int _age;
}
//声明有参数无返回值对象方法
-(void)eat:(NSString *)foodName andFoodName2:(NSString *)foodeName2;

//声明有参数无返回值类方法
+(void)run:(int)kilometre AndSayThing:(NSString *)satThing;
@end


@implementation Person

-(void)eat:(NSString *)foodName andFoodName2:(NSString *)foodName2{
    
    NSLog(@"我吃了 %@ 和 %@",foodName,foodName);
}

+(void)run:(int)kilometre AndSayThing:(NSString *)sayThing{
    NSLog(@"我跑了  %d 公里,我想说 %@",kilometre,sayThing);
}

@end



int main(int argc, const char * argv[]) {
    @autoreleasepool {
        
        Person * p =[Person new];
        //赋值
        p->_name = @"purpleDog";
        p->_age = 26;
   
        //有参数无返回值对象方法调用
        [p eat:@"煎饼" andFoodName2:@"大葱"];
        ///有参数无返回值类方法
        [Person run:12 AndSayThing:@"累吐血了"];
    }
    return 0;
}

/*
2016-08-20 17:20:35.342 2016.8.20练习1[1539:311792] 我吃了 煎饼 和 煎饼
2016-08-20 17:20:35.343 2016.8.20练习1[1539:311792] 我跑了  12 公里,我想说 累吐血了
Program ended with exit code: 0
*/

 

转载于:https://my.oschina.net/purpleDog/blog/735539

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值