类定义使用

  • 三个文件

// Animal.h
#import <Foundation/Foundation.h>

// 视作类或接口
@interface Animal:NSObject
@property /*(readonly)*/ NSString* name;//()包裹着类型或特性
@property NSString *favFood;
@property NSString *sound;

@property float weight;
-(instancetype)/*返回本类类型*/ initWithName:(NSString*) defaultName;
-(void)getInfo;
-(float)weightInKg:(float) weightInLbs;
-(NSString*)talkToMe:(NSString*)myName;
-(int)getSum:(int)num1
  nextNumber:(int)num2;//这是什么意思

@end
// Animal.m
#import "Animal.h"
// 视作实现接口的类
@implementation Animal

- (instancetype)init
{
    self = [super init];
    if (self) {
        self.name = @"no name";
    }
    return self;
}
- (instancetype) initWithName:(NSString *)defaultName
{
    self = [super init];
    if(self){
        self.name = defaultName;
    }
    return self;
}

-(void)getInfo{
    NSLog(@"Random info");
}

-(float)weightInKg:(float)weightInLbs{
    return weightInLbs * 0.4535;
}
// nextNumber 是什么
-(int)getSum:(int)num1 nextNumber:(int)num2{
    return num1 + num2;
}

-(NSString*)talkToMe:(NSString *)myName{
    NSString* resp = [NSString stringWithFormat:@"hello %@",myName];
    return resp;
}

@end
// main.m
#import<Foundation/Foundation.h>
#import "Animal.h"
int main(int argc, const char * argv[]) {
    @autoreleasepool {
        Animal *dog = [[Animal alloc]init];
        [dog getInfo];
        NSLog(@"the dog name: %@",[dog name]);
        
        [dog setName:@"slut"];
        NSLog(@"the dog name: %@",[dog name]);
        
        Animal* cat = [[Animal alloc]initWithName:@"wet pussy"];
        NSLog(@"the cat name: %@",[cat name]);// 调用方法或属性都是[]
    }
    return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值