您的位置:首页 > 其它

OC2

2016-05-04 16:23 316 查看
#import <Foundation/Foundation.h>

#import "Human.h"

#import "Person.h"

#import "Student.h"

int main(int argc, const char * argv[]) {

@autoreleasepool {

// Human *human = [[Human alloc]init];

/*

-:实例方法

1、调用方法

[对象 方法名]

2、格式

-(返回类型)方法名

-(返回类型)方法名参数描述名1:(参数类型)参数名

-(返回类型)方法名参数描述名1:(参数类型)参数名1 参数描述名2:(参数类型)参数名2 .....

*//*

// 无返回值 ,无参数

[human buywater];

[human sayHi];

//无返回,有一个参数

// [human lentOfMoney:500000000000];

// 无返回值,传两个参数

// [human drinkOfwater:@"农夫山泉" tea:@"铁观音"];

//有返回值,无参数

NSString *tea = [human drinktea];

NSLog(@"tea:%@",tea);

// 有返回值,传两个参数

NSString *newstring = [human drinkOfOtherWater:@"矿泉水" tea:@"绿茶"];

NSLog(@"new:%@",newstring);

NSInteger sum = [human sunOfNumber:1000 otherNumber:2000];

NSLog(@"sum= : %ld",sum);

*/

/*

+:类方法

1、调用方法

[类名 方法名]

*/

// [Human test];

// Human *human1 = [Human human];

// NSLog(@"human1 :%@",human1);

// Human *human2 = [Human humanWithName:@"lili" age:22];

// NSLog(@"%@" ,human2);

//

// //setter getter

// Human *human3 = [[Human alloc]init];

// [human3 setName:@"xiaoli"];

// [human3 setAge:22];

// NSLog(@"姓名:%@ 年龄:%ld",[human3 name],(long)[human3 age]);

//// 点语法

// human3.name = @"tom";

// human3.age = 23;

// NSLog(@"姓名:%@ 年龄:%ld",[human3 name],(long)[human3 age]);

Student *student = [[Student alloc]init];

student.name = @"tom";

[student hello];

[student test];

[Student test];

Person *person = [[Student alloc] init];

[person hello];

}

return 0;
}

创建 Cocoa Touch Class文件  类名Human

.h

#import <Foundation/Foundation.h>

@interface Human : NSObject

{   //成员变量

    /*@protected(默认):本类和他的子类的方法可以访问

      @private:本类的方法可以访问

      @public:公开

     */

    NSString *_name;

    NSInteger _age;

}

//行为动作

-(void)buywater;

//实例方法

//无返回值,无参数

//打招呼

-(void)sayHi;

//无返回,有一个参数

- (void)lentOfMoney:(NSInteger)money;

//无返回值,传两个参数

- (void)drinkOfwater:(NSString *)water tea:(NSString *)tea;

//有返回值,无参数

- (NSString *)drinktea;

//有返回值,传两个参数

- (NSString *)drinkOfOtherWater:(NSString *)water tea:(NSString *)tea;

- (NSInteger)sunOfNumber:(NSInteger)number otherNumber:(NSInteger)otherNumber;

-(instancetype)initWithName:(NSString *)name age:(NSInteger)age;

//类方法

+(void)test;

//便利构造方法

+(Human *)human;

+(Human *)humanWithName:(NSString *)name age:(NSInteger)age;

-(NSString*)description; //打印对象的方式

//setter getter//存取

-(void)setName:(NSString *)name;

-(NSString*)name;

-(void)setAge:(NSInteger)age;

-(NSInteger)age;

@end

.m

#import "Human.h"

@implementation Human

-(void)buywater{

    NSLog(@"我想喝水,你去买");

}

-(void)sayHi{

    NSLog(@"早上好");

}

-(void)lentOfMoney:(NSInteger)money{

    NSLog(@"请你借%ld",money);

}

-(void)drinkOfwater:(NSString *)water tea:(NSString *)tea{

    NSLog(@"我想喝%@的%@茶",water,tea);

}

-(NSString *)drinktea{

return @"红茶";

}

-(NSString *)drinkOfOtherWater:(NSString *)water tea:(NSString *)tea{

    NSString *string = [NSString stringWithFormat:@"我想喝%@的%@茶",water,tea];

    return string;

}

-(NSInteger)sunOfNumber:(NSInteger)number otherNumber:(NSInteger)otherNumber{

    return number + otherNumber;

}

-(instancetype)initWithName:(NSString *)name age:(NSInteger)age{

    self = [super init];

    if (self) {

        _name = name;

        _age = age;

    }

    return self;

}

+(void)test{

    NSLog(@"类方法测试");

}

+(Human *)human{

    Human *human1 = [[Human alloc]init];

    return  human1;

}

+(Human *)humanWithName:(NSString *)name age:(NSInteger)age{

    Human *human2 = [[Human alloc]initWithName:name age:age];

    return human2;

}

-(NSString *)description{

    NSString *string = [NSString stringWithFormat:@"name: %@,age:%ld",_name,_age];

    return string;

}

//setter getter的目的 给成员变量赋值

-(void)setName:(NSString *)name{

    _name = name;  //赋值

}

-(NSString*)name{

    return _name;  //返回去

}

-(void)setAge:(NSInteger)age{

    if (age < 0) {

        _age = 18;

        return;

    }else{

        _age = age;

    }

}

-(NSInteger)age{

    return _age;

}

@end

//继承   Student继承Person

创建 Cocoa Touch Class文件  类名Person

.h

#import <Foundation/Foundation.h>

@interface Person : NSObject

{

    

    NSString *_name;

    NSInteger _age;

}

- (void)setName:(NSString *)name;

- (NSString *)name;

- (void)setAge:(NSInteger)age;

- (NSInteger)age;

- (void)hello;

@end

.m

#import "Person.h"

@implementation Person

- (void)setName:(NSString *)name{

    _name = name;

    

}

- (NSString *)name{

    return _name;

}

- (void)setAge:(NSInteger)age{

    _age = age;

}

- (NSInteger)age{

    return _age;

}

- (void)hello{

    NSLog(@"person hello");

}

@end

创建 Cocoa Touch Class文件  类名Student

.m

#import "Student.h"

@implementation Student

//- (void)setName:(NSString *)name{

//    _name = name;

//}

//- (NSString *)name{

//    return _name;

//}

//

//- (void)setAge:(NSInteger)age{

//    _age = age;

//}

//- (NSInteger)age{

//    return _age;

//}

//

- (void)setCode:(NSString *)code{

    _code = code;

}

- (NSString *)code{

    return _code;

}

- (void)hello{

    NSLog(@"student hello");

}

- (void)test{

    NSLog(@"---:%@",self);

}

+ (void)test{

    NSLog(@"+++++:%@",self);

}

@end

.h

#import "Person.h"

#import <Foundation/Foundation.h>

@interface Student : Person

{

    //    NSString *_name;

    //    NSInteger _age;

    NSString *_code;

}

//- (void)setName:(NSString *)name;

//- (NSString *)name;

//

//- (void)setAge:(NSInteger)age;

//- (NSInteger)age;

- (void)setCode:(NSString *)code;

- (NSString *)code;

+ (void)test;

- (void)test;

- (void)hello;

@end
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: