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;
}
复制代码

 


本文转自农夫山泉别墅博客园博客,原文链接:http://www.cnblogs.com/yaowen/p/5306054.html,如需转载请自行联系原作者

相关文章
|
3月前
|
Java
java构造方法时对象初始化,实例化,参数赋值
java构造方法时对象初始化,实例化,参数赋值
96 1
|
3月前
|
Java
java中父类方法return this.对象还是变量,子类去调用this.这个方法的问题
本文探讨了在Java中,当父类的方法返回`this`对象或变量时,子类调用该方法的行为,以及`this`关键字在不同类中调用方法时的指向问题。
23 0
java中父类方法return this.对象还是变量,子类去调用this.这个方法的问题
|
Python
52 python - 重写父类方法与调用父类方法
52 python - 重写父类方法与调用父类方法
74 0
|
Python
python调用父类方法的三种方式(super调用和父类名调用)
python调用父类方法的三种方式(super调用和父类名调用)
257 0
|
C++
同样一句代码,在类内调用,跟类外调用结果不同?
同样一句代码,在类内调用,跟类外调用结果不同?
83 0
|
Python
python类继承,父类和子类的构造函数初始化调用
# class Info(object): # def __init__(self,name,age,score): # self.
1184 0
重写父类方法和调用父类方法
class Animal(object): def eat(self): print("-----吃-----") def drink(self): print("-----喝-----") class Dog(Animal): def...
916 0

热门文章

最新文章