当前位置:   article > 正文

黑马程序员——OC中方法的声明实现及调用_oc 实例方法之间调用

oc 实例方法之间调用
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------


OC中的方法分为:对象方法和类方法


对象方法 

            (1)对象方法以-开头如 -(void)xx;

            (2) 对象方法只能由对象来调用;

            (3)对象方法中可以访问当前对象的成员变量 ;

            (4)调用格式 [对象名 对象方法名]。

类方法 

            (1)类方法以+开头 如+(void)put;

            (2)类方法只能由类来调用 ;

            (3)类方法中不能访问实例(成员)变量,因为类方法由类来调用,并没有创建存储空间 来存储类中的成员变量;

            (4)调用格式:[类名 类方法名];

            (5)类方法的好处和适用场合: 

     ✭ 不依赖于对象,执行效率更高;

     ✭ 能用类方法解决的问题,尽量使用类方法;

     ✭ 场合:当方法内部不需要使用到成员变量时,可以改为类方法。


1、无参数方法的声明 

       声明: 

                     

2、无参方法的调用 

         使用对象调用方法就是OC中的消息机制 。 OC语言中采用特定的语言调用类或者实例(对象)的方法称为发送消息或方法调用。 OC中方法的调用有两种: 

1)[类名或者对象名 方法名]; 


       

不带参数的方法调用:

                                       

2)对象名.方法名 

1、有参方法声明和实现 


声明: 

                  

这里需要注意的是注冒号也是方法名的一部分。 

2、有参方法调用 

带参数的方法调用: 

                



思考&实现: 一个人可以吃不同的食物,只要吃东西就会增加体重0.6,如果 要是出门遛弯,每走100步,

重减0.2,小于100步忽略不计。 请用面向对象思想实现。 

思路:

类名:Person 属性:年龄(_age)、体重(_weight) 动作:吃饭(eat)方法、散步(walk)方法 。

功能:人可以吃各种食物 每次散步,让体重-0.2。

  1. #import <Foundation/Foundation.h>
  2. //Person类的声明
  3. @interface Person:NSObject
  4. {
  5. @public
  6. //定义人的属性
  7. NSString *_name;
  8. int _age;
  9. float _weight;
  10. }
  11. //定义人的行为
  12. -(void)eat:(NSString *)foodName;
  13. -(void)walk:(int) mile;
  14. @end
  15. //Person类的实现
  16. @implementation Person
  17. -(void)eat:(NSString *)foodName{
  18. //吃饭以后,体重在原来的基础上增加0.6
  19. _weight +=_weight;
  20. NSLog(@"人吃了%@",foodName);
  21. }
  22. -(void)walk:(int) mile{
  23. //每走100步,体重减去0.2
  24. _weight-=mile/100*0.2f;
  25. NSLog(@"您当前走了%d步,体重为%.2f",mile,_weight);
  26. }
  27. @end
  28. int main(int argc, const char * argv[]) {
  29. @autoreleasepool {
  30. // 创建对象
  31. Person *p= [Person new];
  32. //设置对象的实例变量的值
  33. p->_name=@"小红 ";
  34. p->_weight=60.0f;
  35. p->_age=23;
  36. [p eat:@"糖醋里脊"];
  37. [p walk:876];
  38. }
  39. return 0;
  40. }



声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/空白诗007/article/detail/819723
推荐阅读
相关标签
  

闽ICP备14008679号