oc(1)

来源:互联网 发布:java遍历json对象 编辑:程序博客网 时间:2024/06/05 00:08

                           oc  1 

#import <Foundation/Foundation.h>

#import "Hera.h"
#define NUMBER 2
int main(int argc, const char * argv[]) {
@autoreleasepool {
#if NUMBER == 1
/*
@:1、作为oc标识,关键字的开始 2、打印对象

NSlog:1、自动换行2、增加时间等日志信息
#import #include @class <> "" 区别:

*/
#pragma mark - 对象的创建
#elif NUMBER == 2
// 分配内存空间
Hera *hera = [Hera alloc];
// 初始化
hera = [hera init];
// 简化 上面
Hera *hera1 = [[Hera alloc]init];//父类init方法
[hera1 skill];
Hera *hera2 = [[Hera alloc]initWithName:@"yangyao" age:23 gender:@"women"];
[hera2 sayHello];

#endif
}
return 0;

}

创建 Cocoa Touch Class文件  类名Hera

.h

#import <Foundation/Foundation.h>
//接口      类名 继承  父类
@interface Hera : NSObject  //实现文件
{
    NSString *_name;//姓名
    NSInteger _age;//年龄
    NSString *_gender;//性别
}
//技能
-(void)skill;

//重写
-(instancetype)init;

//自定义init方法  with 表示传参
-(instancetype)initWithName:(NSString *)name age:(NSInteger)age  gender:(NSString *)gender;
-(void)sayHello;

@end

.m

#import "Hera.h"

@implementation Hera
-(void)skill
{
    NSLog(@"%@:打怪兽 年龄:%ld 性别: %@",_name,(long)_age,_gender);
}
//重写
-(instancetype)init
{
    self = [super init];
    if (self) {
        _name = @"lihong";
        _age = 29;
        _gender = @"man";
    }
    return self;
}
//自定义init方法  with 表示传参
-(instancetype)initWithName:(NSString *)name age:(NSInteger)age gender:(NSString *)gender{
    self = [super init];
    if (self) {
        _name = name;
        _age = age;
        _gender = gender;
    }
    return self;
}
-(void)sayHello{
    NSLog(@" 姓名: %@ 年龄: %ld 性别: %@",_name,_age,_gender);
}
@end

0 0