美文网首页
一、Defining Class

一、Defining Class

作者: iEugene | 来源:发表于2020-02-19 12:39 被阅读0次

    头文件声明定义

    //  SimpleClass.h
    //类声明
    //历史:很多类中有"NS"前缀是因为Cocoa和Cocoa Touch,Cocoa诞生于NeXTStep操作系统中用于构建APP的框架,后来NeXTStep被苹果公司收购了,所以框架中的代码也直接被合入了OS X中
    //NSObject 类似Java语言中的Object,是所有类的基类,所有类定义必须显示的继承一个父类
    @interface SimpleClass : NSObject
    //属性定义
    //引用类型数据定义前需要加*号
    @property NSString *firstName;
    @property NSString *lastName;
    //(readonly)只读权限
    @property (readonly) NSNumber *yearOfBirth;
    @property int weight;
    
    //函数声明
    //函数签名信息:someMethodWithValue、NSString*、secondParam:(int)
    //实现函数必须保证签名信息一致
    //C语言中的函数命名必须是唯一是,但不影响Objective-C中的函数命名,只需要保证同一个类中的函数命名唯一
    //继承父类也必须保持一致
    //"-"号表示实例方法
    //void表示无返回值
    - (void) someMethodWithValue:(NSString*)value secondParam:(int)value1;
    -(void)sayHello: (NSString *)name myName:(NSString *)myName
    //返回值为int
    -(int) someMethodReturnInt;
    //返回值为NSString Object
    -(NSString*) someMethodReturnString;
    
    //"+"号表示类方法
    + (id) createInstance;
    
    @end
    
    

    类实现

    //  SimpleClass.m
    #import "SimpleClass.h"
    
    @implementation SimpleClass
    - (void)someMethodWithValue:(NSString *)value secondParam:(int)value1{
    //self关键字类似Java中this,表示类对象本身,还有一个关键字super与Java中的一样,表示父类
      [self sayHello:value myName:[NSString stringWithFormat:@"%d",value1]];
    }
    
    -(void)sayHello: (NSString *)name myName:(NSString *)myName
    {
        NSLog(@"Hello %@!, My name is %@", name, myName);
    }
    
    + (id)createInstance{
        return [[SimpleClass alloc] init];
    }
    
    - (int)someMethodReturnInt{
        return 0;
    }
    
    - (NSString *)someMethodReturnString{
        return [self description];
    }
    
    @end
    
    

    官方命名规范说明

    相关文章

      网友评论

          本文标题:一、Defining Class

          本文链接:https://www.haomeiwen.com/subject/inqafhtx.html