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