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)

相关推荐
Ulyanov12 分钟前
Impress.js 3D立方体旋转个人年终总结设计与实现
开发语言·前端·javascript·3d·gui开发
jllllyuz13 分钟前
室外可见光通信信道建模与MATLAB实现(直射链路与反射链路)
开发语言·matlab
榴莲不好吃13 分钟前
前端js图片压缩
开发语言·前端·javascript
散峰而望21 分钟前
【数据结构】假如数据排排坐:顺序表的秩序世界
java·c语言·开发语言·数据结构·c++·算法·github
superman超哥22 分钟前
自定义序列化逻辑:掌控数据编码的每一个细节
开发语言·rust·编程语言·rust自定义序列化·rust数据编码
jiayong2332 分钟前
JVM垃圾回收机制面试题
java·开发语言·jvm
easyboot1 小时前
C#通过sqlsugar插入数据到postgresql
开发语言·c#
txinyu的博客1 小时前
C++ 线程库
开发语言·c++
木土雨成小小测试员1 小时前
Python测试开发之后端一
开发语言·数据库·人工智能·python·django·sqlite
superman超哥1 小时前
Serialize 与 Deserialize Trait:Rust 类型系统与序列化的完美融合
开发语言·rust·开发工具·编程语言·rust序列化·rust类型·serialize