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]); } 运行结果 ![](https://file.jishuzhan.net/article/1750729491434442754/a7cf409351db87987478532a8e878e90.webp)

相关推荐
Overt0p2 分钟前
抽奖系统(7)
java·开发语言·spring boot·redis·tomcat·rabbitmq
JANG10243 分钟前
【Qt】项目打包
开发语言·qt
CoderCodingNo10 分钟前
【GESP】C++五级/六级练习题(前缀和/动态规划考点) luogu-P1719 最大加权矩形
开发语言·c++·动态规划
学嵌入式的小杨同学13 分钟前
循环队列(顺序存储)完整解析与实现(数据结构专栏版)
c语言·开发语言·数据结构·c++·算法
点云SLAM14 分钟前
C++ 设计模式之工厂模式(Factory)和面试问题
开发语言·c++·设计模式·面试·c++11·工厂模式
亓才孓14 分钟前
Java第三代时间API
java·开发语言
码农水水15 分钟前
京东Java面试被问:Spring Boot嵌入式容器的启动和端口绑定原理
java·开发语言·人工智能·spring boot·面试·职场和发展·php
Yuer202516 分钟前
状态不是变量:Rust 量化算子中的 State 工程语义
开发语言·后端·深度学习·机器学习·rust
彩妙不是菜喵18 分钟前
c++:初阶/初始模版
开发语言·c++
Allen_LVyingbo19 分钟前
具备安全护栏与版本化证据溯源的python可审计急诊分诊平台复现
开发语言·python·安全·搜索引擎·知识图谱·健康医疗