当前位置:   article > 正文

【Objective-C学习----------10(方法的声明实现和调用)】_objective-c声明方法

objective-c声明方法

方法的声明实现和调用

方法的声明实现和调用

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.注意
	在方法的实现中可以直接方法访问属性
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
	
#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;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53

到此结束!!!
自我监督 共同努力

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号