关闭

黑马程序员——oc中的方法

87人阅读 评论(0) 收藏 举报

第一讲 oc中的方法
oc中的方法分为对象方法和类方法:
1.对象方法
(1)对象方法以-开头如-(void)xx;
(2)对象方法只能由对象来调用;
(3)对象方法中可以访问当前对象的成员变量;
(4)调用格式[对象名 对象方法名];
2.类方法
(1)类方法以+开头如+(void)put;
(2)类方法只能由类来调用;
(3)类方法中不能访问实例(成员)变量,因为类方法由类来调用,并没有创建存储空间来存储类中的成员变量;
(4)调用格式:[类名 类方法名];
(5)类方法的好处和适用场合;
         不依赖于对象,执行效率更高;
         能用类方法解决的问题,尽量使用类方法;
         场合:当方法内部不需要使用到成员变量时,可以改为类方法

第二讲 无参方法的声明实现及调用
1.无参方法的声明
<span style="font-size:14px;">@interface Car:NSObject
{
    int lunzi;
    int speed;
    NSString *pp;
}
//行为
//车跑得方法   方法名是run
-(void)run;   //定义了一个无参无返回值的方法
-(void)stop;

@end</span>
2.无参方法的实现
//类的实现
@implementation Car

//方法的具体的实现
-(void)run{
    
    NSLog(@"车跑在乡间的大道上");
    
}

-(void)stop{
    
    NSLog(@"车停了!");
    
}

@end
3.无参方法的调用
nt main(int argc, const char * argv[]) {
    @autoreleasepool {
        
        //创建了一个对象 对象名 car
        Car *car = [Car new];
        
        //调用方法
        [car run];
        
        //调用stop方法
        
        //向car对象发送stop消息
        [car stop];
        
    }
    return 0;
}
第三讲 有参方法的声明实现及调用

1.有一个参数的方法:-(返回值类型)方法名1:(参数类型)参数名;
   有两个参数的方法:-(返回值类型)方法名1:(参数类型1)参数名1 and:(参数类型2)参数名2;
2.c函数的sum方法转化为oc方法
(1)c的函数
<span style="font-size:14px;">int sum(int x,int y){
        return x+y;
    }</span>
(2)oc的函数

声明:
<span style="font-size:14px;">-(int)sum:(int) x and:(int) y;</span>

实现:
<span style="font-size:14px;">-(int)sum:(int) x and:(int) y{
        return x+y;
}</span>
有参方法使用解析:
方法的类型:对象方法,用-号
方法的返回值:int类型
方法的参数是:x和y
方法的参数类型:第一个int ,第二个int
方法名:sum:  and:
3.实例
<span style="font-size:14px;">#import <Foundation/Foundation.h>

@interface Caculator : NSObject
//有参方法声明
-(int)sum:(int) x and:(int) y;
@end

@implementation Caculator
//实现
-(int)sum:(int) x and:(int) y{
    return x+y;
}
@end


int main(int argc, const char * argv[]) {
    @autoreleasepool {
        //创建对象
        Caculator *caculator=[Caculator new];
       //调用有参方法
        int s=[caculator sum:10 and:20];
        NSLog(@"s=%d",s);
    }
    return 0;
}</span>
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:1555次
    • 积分:138
    • 等级:
    • 排名:千里之外
    • 原创:13篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章存档