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

来源:互联网 发布:数据有效性自定义公式 编辑:程序博客网 时间:2024/06/01 23:49

——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.返回指针地址 

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

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

                            


0 0
原创粉丝点击