Objective-C学习----------10方法的声明实现和调用
方法的声明实现和调用
1.定义一个类
分为类的定义和实现
@interface 类名 : NSObject
{
属性 属性表示类的特征
}
方法的声明;方法比表示类的功能
@end
@implementation 类名
类的实现
@end
2.一类事物不仅具有相同的特征还具有相同的行为
行为就是一个功能,C语言中使用函数来表示一个功能。
OC的类具有的行为,使用方法来表示,
方法和函数都表示一个功能
3.无参数的方法
1)声明
a.位置:在@interface的大括号外面。
b.语法:
-(返回值类型)方法名称;
- (void) run;
表示声明一个无返回值并且无参数的方法,方法名叫做run
2)实现
a.位置:在@implementation之中实现
b.语法的实现:
将方法的声明拷贝到@implementation之中,去掉分号追加大括号一对,将方法实现的
代码下载大括号之中
3)调用
a.方法是无法直接调用的。因为类是不能直接使用的。必须要想先创建对象,
那么这个对象中就有类中的属性和方法了,就可调用对象的方法
b.调用语法
[对象名 方法名];
4.一个参数的方法。
1)声明
a.位置:在@interface的大括号外面。
b.语法:
-(返回值类型)方法名称:(参数类型)形参名称;
- (void)eat:(NSString *) foodName;
定义一个方法,没有返回值;方法名叫做eat;
这个方法有一个参数,参数是NSStriing *类型,参数名字叫做foodName.
2) 实现
a.位置:在@implementation之中实现
b.语法的实现:
将方法的声明拷贝到@implementation之中,去掉分号追加大括号一对,将方法实现的
代码下载大括号之中
3)调用
a.方法是无法直接调用的。因为类是不能直接使用的。必须要想先创建对象,
那么这个对象中就有类中的属性和方法了,就可调用对象的方法
b.调用语法
[对象名 方法名:实参];
5.带多个参数的方法
1)声明
a.位置:在@interface的大括号外面。
b.语法:
- (返回值类型)方法名称:(参数类型)形参名1:(参数类型)形参名2:(参数类型)形参名3;
- (int)sum:(int)num1 : (int)num2;
声明一个方法,返回值类型为int,方法名为sum。
有两个参数,参数类型都为 int ,参数名称为num1 num2
2) 实现
a.位置:在@implementation之中实现
b.语法的实现:
将方法的声明拷贝到@implementation之中,去掉分号追加大括号一对,将方法实现的
代码下载大括号之中
3)调用
a.方法是无法直接调用的。因为类是不能直接使用的。必须要想先创建对象,
那么这个对象中就有类中的属性和方法了,就可调用对象的方法
b.调用语法
[对象名 方法名:实参1 :实参2 ;实参3];
6.注意
在方法的实现中可以直接方法访问属性
#import <Foundation/Foundation.h>
@interface Person : NSObject
{
@public
NSString *_name;
int _age;
}
//无参方法的声明
-(void)run;
//有参数无返回值的声明
-(void)eat:(NSString *) foodName;
//有参数有返回值的声明
- (int)sum:(int)num1 : (int)num2;
@end
@implementation Person
//无参方法的实现
-(void)run{
NSLog(@"我在跑");
}
//有参数无返回值的实现
-(void)eat:(NSString *) foodName{
NSLog(@"这个%@真好吃",foodName);
}
//有参数有返回值的实现
//相加
- (int)sum:(int)num1 : (int)num2{
int num3 =num1 num2;
return num3;
}
@end
int main(int argc, const char * argv[]) {
@autoreleasepool {
Person *p1 = [Person new];
//无参无返回值调用
[p1 run];
//有参无返回值的调用
[p1 eat:@"红烧肉"];
//有返回值有参数的调用
int sum = [p1 sum:10 :20];
NSLog(@"sum = %d",sum);
}
return 0;
}
到此结束!!!
自我监督 共同努力
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhfhjkig
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01