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

oc-14-对象方法调用类方法

时间:2016-03-22 21:45:01      阅读:222      评论:0      收藏:0      [点我收藏+]

标签:

Person.h

#import <Foundation/Foundation.h>

@interface Person : NSObject
{
    @public
    int _age;
    
    float _weight;  // 运动1次,就去吃饭.
}
// 让人运动
- (void)sport;

// 让人吃
- (void)eat;


// 让人运动
+ (void)sport;

// 让人吃
+ (void)eat;


//对象方法
- (void)study;

//类方法
+ (void)study;


@end

Person.m

#import "Person.h"

@implementation Person
// 让人运动
- (void)sport
{
    NSLog(@"这个人运动--对象方法");
    
    // 在对象方法当中调用类方法
    [Person eat];
}

// 让人吃
- (void)eat
{
    NSLog(@"这个人吃东西--对象方法");
}

// 让人运动
+ (void)sport
{
    NSLog(@"这个人运动--类方法");
    
    // 在本方法中,不能用self调用自己的方法.会死循环.
    [self sport];
}


// 让人吃
+ (void)eat
{
    NSLog(@"这个人吃--类方法");
}

//对象方法
- (void)study
{
    NSLog(@"%d年龄的人学习--对象方法",_age);
}

//类方法
+ (void)study
{
    NSLog(@"类方法");
}

@end
/**
 类方法:由类调用的方法
 
 1.类方法的局限性:
   不能访问成员变量.
 
 2.类方法的优势:
   不依赖对象.不占用内存空间.节约内存可以不创建对象。
 
 3.对比对象方法和类方法
 1)格式:
 对象方法: - (返回值类型)方法名:(参数类型)参数名称;
 类方法:   + (返回值类型)方法名:(参数类型)参数名称;
 
 2)调用者
 对象方法:必须创建对象,由对象来调用.
 类方法:不依赖于对象,由类直接调用.
 
 练习:设计1个计算器,有加法\减法\乘法\除法,用类方法不依赖于对象.
 
 
 报错信息:
 unrecognized selector sent to class 0x1000046c8 某个方法找不到.
 */

 

oc-14-对象方法调用类方法

标签:

原文地址:http://www.cnblogs.com/yaowen/p/5308377.html

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