oc-06-无参方法的调用

//  12-【掌握】无参方法声明实现及调用
#import <Foundation/Foundation.h>
//类的声明
@interface Person : NSObject
{
    @public
    NSString * _name;
    int _age;
    float _weight;

}
//声明无参数的方法  对象方法  返回值类型 为空类型void 方法的名字叫做eat
- (void)eat;
//声明一个无参数对象方法 返回值类型为空类型  方法的名字叫做run
- (void)run;
//声明一个类方法 +表示类方法  方法名 breath  返回值类型 void
+ (void)breath;
@end


//实现类
@implementation Person
//实现 无参数的方法  对象方法  返回值类型 为空类型void 方法的名字叫做eat
- (void)eat{
    //在对象方法中 访问 自己的 成员变量
    NSLog(@" %f顿的  %@ 在吃吃吃吃  ",_weight,_name);
}

//实现一个无参数对象方法 返回值类型为空类型  方法的名字叫做run
- (void)run{
    NSLog(@"%f顿   %@ 在跑跑跑  ",_weight,_name);
}


//实现一个类方法 +表示类方法  方法名 breath  返回值类型 void
+ (void)breath{
    //尝试 在类方法中 去访问成员属性  结果是失败的,因为不知道改的是哪个对象的属性。
   // NSLog(@"%@在大口大口的呼吸  ",_name);
}
@end



int main(int argc, const char * argv[]) {
    @autoreleasepool {
        //创建一个对象
        Person * zhangsan = [Person new];
        zhangsan->_name = @"张三丰";
        zhangsan->_weight = 300.5f;
        
        //通过张三这个对象 来调用张三的无参数对象方法
        // [对象名 对象方法]
        [zhangsan eat];
        [zhangsan run];
        
        //尝试通过类名 去调用对象方法 结果是 失败的,因为不知道调用的是哪个对象的方法  。对象方法只能通过对象来调用,类方法只能通过类调用,在类方法不能访问成员属性。
        //[Person eat];
        
        //创建了一个对象李四
        Person * lisi  = [Person new ];
        lisi->_name = @"李斯";
        lisi->_weight = 150.0f;
        [lisi eat];
        
        //调用类方法
        // [类名 方法名]
        [Person breath];
        //尝试 通过 对象去调用类方法结果是失败的
       // [zhangsan breath];
    }
    return 0;
}

 

posted @ 2016-03-22 13:26  无天666  阅读(515)  评论(0编辑  收藏  举报