OC07_类的扩展

来源:互联网 发布:大数据与中国发展 编辑:程序博客网 时间:2024/06/01 17:59

//

//  main.m

//  OC07_类的扩展

//

//  Created by dllo on 15/7/24.

//  Copyright (c) 2015 flg. All rights reserved.

//


#import <Foundation/Foundation.h>

#import "NSString+StringMethod.h"

#import "Student.h"

#import "Boy.h"

#import "Girl.h"

#import "Man.h"

int main(int argc,constchar * argv[]) {

//    NSMutableDictionary *dic=[NSMutableDictionary dictionaryWithObjectsAndKeys:@"1",@"2",@"3",@"4",@"5",@"6", nil];

//    [dic setValue:nil forKey:@"2"];

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

//    [dic setObject:nil forKey:@"2"];

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

////类目

    //系统已经写好的类目:按照功能对系统的类方法进行区分

    //类目从@interface开始,后面是当前的名字,类名后是分类的功能,@end结束.

//我们创建的项目,一般是为了把一些系统的类进行功能扩充.


    ///判断两个时间是否是同一个月

//    NSString *str=@"2015-08-24 19:00:00";

//    NSString *str2=@"2015-08-24 20:00:00";

//    //[str sayHi];  str2就是self str就是传过去的参数,otherdate

//    if([str2 isEqualTtwoDate:str]){

//        NSLog(@"月份相同");

//    }else{NSLog(@"月份不同");}

   // NSLog(@"%d",isTrue);

    ///实现时间的拼接

//    NSString *newStr=[str appendTwoDate:str2];

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

///判断时间是否在给定范围内(比较天)

//    NSString *time1=@"2015-07-24 00:00:00";

//    NSString *time2=@"2015-07-28 12:00:00";

//    NSString *strTime=@"2015-07-27 10:00:00";

//    if ([strTime isInTimeZone:time1

//                          end:time2]) {

//        NSLog(@"");

//    }else{NSLog(@"不在");}

///传过去一个字符串,返回一个事件的对象NSDate类型

//    NSString *strr=@"2015-07-28 12:00:00";

//    NSDate *date=[strr stringToDate];

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

//    NSDate *date1=[NSString stringToDate:strr];

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

//////////////////////////////////////////////////////////////////////

    //第二种类目方法:延展

//    Student *stu=[[Student alloc] init];

//stu.stuSex=@"";

//    NSLog(@"%@",stu.stuSex);

////////////////////////////////////////////////////

////创建两个小人

//    Boy *yadang=[[Boy alloc] init];

//    Girl *xiawa=[[Girl alloc] init];

////5.设置代理人

//    xiawa.delegate=yadang;

//    //通过调用结婚的方法来执行内部协议

//    [xiawa getMarry];

//

//    //5.设置新的代理人

//    Man *wangliqian=[[Man alloc] init];

//    xiawa.delegate=wangliqian;

//    [xiawa getMarry];



(1)//////////////////Girl///////////////////////////////

//  Girl.h

//  OC07_类的扩展

//

//  Created by dllo on 15/7/24.

//  Copyright (c) 2015 flg. All rights reserved.

//


#import <Foundation/Foundation.h>

//声明一份协议

//@protocol协议的关键词

@protocol Marry <NSObject>//协议名为 Marry

//协议的内容

//协议方法的声明

@required//要求的,,默认是必须实现的方法,

-(void)makeMoney;


@optional//可选择的,,可选择执行的方法..

-(void)cook;


@end


@interface Girl : NSObject

//2.设置代理人的属性

@property(nonatomic ,assign)id<Marry>delegate;

//两个人正式结婚后,协议才正式生效.

-(void)getMarry;

@end



(2)//

//  Girl.m

//  OC07_类的扩展

//

//  Created by dllo on 15/7/24.

//  Copyright (c) 2015 flg. All rights reserved.

//


#import "Girl.h"


@implementation Girl

-(void)getMarry{

//3.让代理人去执行协议里的方法

    [self.delegatemakeMoney];

}

@end


(1)//////////////////////Boy///////////////////

//  Boy.h

//  OC07_类的扩展

//

//  Created by dllo on 15/7/24.

//  Copyright (c) 2015 flg. All rights reserved.

//


#import <Foundation/Foundation.h>

#import "Girl.h"

//4.引完头文件,boy需要签订协议..

@interface Boy : NSObject<Marry>


@end


(2)//

//  Boy.m

//  OC07_类的扩展

//

//  Created by dllo on 15/7/24.

//  Copyright (c) 2015 flg. All rights reserved.

//


#import "Boy.h"


@implementation Boy

//6.实现协议方法makeMoney

-(void)makeMoney{

   NSLog(@"买买买");

}


@end

(1)/////////////////////////Man////////////////////////

//  Man.h

//  OC07_类的扩展

//

//  Created by dllo on 15/7/24.

//  Copyright (c) 2015 flg. All rights reserved.

//


#import <Foundation/Foundation.h>

//4.签订协议

#import "Girl.h"

@interface Man : NSObject<Marry>

@end


(2)//

//  Man.m

//  OC07_类的扩展

//

//  Created by dllo on 15/7/24.

//  Copyright (c) 2015 flg. All rights reserved.

//


#import "Man.h"


@implementation Man

-(void)makeMoney{

   NSLog(@"随便花");

}

@end








0 0
原创粉丝点击