黑马程序员****OC语言基础****有参和无参方法的调用和实现

本文介绍了Java培训、Android培训、iOS培训、.Net培训等内容,并详细解释了@interface和@implementation在Objective-C中的使用方法,包括类的实例变量声明、方法的定义与实现,以及如何在内存中创建对象并调用其方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——-

          创建某些特定类的对象,OC编译器需要知道一些该类的信息,特别是必须知道对象的实例变量和它提供的特性,这时可以使用@interface把这些信息传递给编译器。

       

<span style="font-size:24px;">@interface Calclator : NSObject
{
    @public
    
    int _num1;
    int _num2;
}
-(int) sum;                    //无参方法
-(int) sum:(int)x and:(int)y;  //有参方法

@end</span>

    知识点:@public表示实例变量都是公开的。( @private  私有的  @protected 受保护的)

                   “-”表示此方法是一个对象方法。

                   (int)x 括号内为参数的类型,可以添加多个参数。and并不是固定的,可以命名其他,“ :  ”也是方法名的一部分。


  @implementation表示你将为这些类方法做实现:


<span style="font-size:24px;">@implementation Calclator

-(int) sum {
    return _num1 + _num2;
}
-(int) sum:(int)x and:(int)y{
    return x + y;
}

@end</span>

          知识点:方法的实现只需要在方法声明中将“ ;”改成“ {} ” 

                         方法的返回值为int类型,应return相应的int类型值。


方法的调用:

<span style="font-size:24px;">int main(int argc, const char * argv[]) {
    @autoreleasepool {
        Calclator *ca1 = [Calclator  new];
        
        ca1->_num1 =  1;
        ca1->_num2 = 2;
        int s = [ca1 sum ];
        NSLog(@"%d",s);
        s = [ca1 sum:42  and:39];
        NSLog(@"%d",s);
    }
    return 0;
}</span>

            运行结果:3     81

            知识点:[Calclator new] 在内存中干三件事:

                                           1.开辟存储空间 

                            2.初始化成员变量(写在类声明大括号中的属性就叫成员变量,也叫实例变量)

                            3.返回指针地址 

                          类的对象可以用“—>”来为实例变量赋值

                          对象方法只能由对象来调用 

                            


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值