当前位置: 首页 > news >正文

Objective-C方法的声明实现及调用

1.无参数的方法

        1)声明

                a.位置:在@interface括弧的外面

                b.语法:

                        - (返回值类型)方法名称;

@interface Person : NSObject
-(void) run;
@end

        2)实现

                a.位置:在@implementation中实现

                b.语法:加大括弧将方法实现的代码写在大括孤之中

@implementation Person;
-(void)run{NSLog(@"我在跑步");
}
@end

        3)调用

                a.方法是无法直接调用的,因为类是不能直接使用的,必须要先创建对象

                b.语法:

                        [对象名 方法名];

int main(int argc, const char * argv[]) {Person *p = [Person new];[p run];
}

2.单个参数的方法

        1)声明

                a.位置:在@interface括弧的外面

                b.语法:

                        -(返回值类型)方法名称:(参数类型)形参名称;

@interface Person : NSObject
-(void)eat:(NSString *)foodName;
@end

        2)实现

                a.位置:在@implementation中实现

                b.语法:加大括弧将方法实现的代码写在大括孤之中

@implementation Person;
-(void)eat:(NSString *)foodName{NSLog(@"%@好美味!",foodName);
}
@end

        3)调用

                a.方法是无法直接调用的,因为类是不能直接使用的,必须要先创建对象

                b.语法:

                        [对象名 方法名:实参];

int main(int argc, const char * argv[]) {Person *p = [Person new];[p eat:@"烤鱼"];
}

3.多个参数的方法

        1)声明

                a.位置:在@interface括弧的外面

                b.语法:

                        -(返回值类型)方法名称:(参数类型)形参名称 :(参数类型)形参名称;

@interface Person : NSObject
-(int)sum:(int)num1 :(int)num2;
@end

        2)实现

                a.位置:在@implementation中实现

                b.语法:加大括弧将方法实现的代码写在大括孤之中

@implementation Person;
-(int)sum:(int)num1 :(int)num2{int num = num1+num2;return num;
}
@end

        3)调用

                a.方法是无法直接调用的,因为类是不能直接使用的,必须要先创建对象

                b.语法:

                        [对象名 方法名:实参:实参];

int main(int argc, const char * argv[]) {Person *p = [Person new];NSLog(@"sum=%d",[p sum:1 :1]);
}

运行结果 

http://www.lryc.cn/news/288160.html

相关文章:

  • 第十四届蓝桥杯国赛 C++ B 组 C 题——班级活动(AC)
  • GraphQL的力量:简化复杂数据查询
  • python环境安装sklearn及报错解决
  • log4j:WARN Please initialize the log4j system properly的解决办法
  • 虹科分享丨汽车技术的未来:Netropy如何测试和确保汽车以太网的性能
  • 代码CE:reference to ‘XX‘ is ambiguous
  • 如果想将企业微信的组织架构同步到内部知识库咋搞?方法来也!
  • 【c语言】扫雷
  • 自然语言处理的崛起:从初步分析到深度理解
  • Git学习笔记:版本回滚
  • OpenCV图像的基本操作
  • 小白水平理解面试经典题目LeetCode 594 Longest Harmonious Subsequence(最大和谐字符串)
  • Vue-35、Vue中使用ref属性
  • 网络通信(15)-C#TCP客户端掉线重连实例
  • React进阶 - 14(说一说”虚拟DOM“中的”Diff算法“)
  • #GPU|LLM|AIGC#集成显卡与独立显卡|显卡在深度学习中的选择与LLM GPU推荐
  • HCIP-IPV6实验
  • 如何训练和导出模型
  • Springboot注解@Aspect(一)之@Aspect 作用和Aop关系详解
  • 自动化防DDoS脚本
  • ubuntu怎么查看有几个用户
  • Linux | makefile简单教程 | Makefile的工作原理
  • pcl+vtk(十四)vtkCamera相机简单介绍
  • TS基础知识点快速回顾(上)
  • hook(post-receive)无法使用
  • qt学习:tcp区分保存多个客户端
  • ORM-08-EclipseLink 入门介绍
  • 数据结构之树和二叉树定义
  • 大模型学习与实践笔记(十三)
  • 计算机网络——网络层(1)