A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

//
//05. 作业
//
//
//创建类:工具类
//
//
//1.类方法:给他一个参数,类名(class 类型),返回一个这个类的实例化对象,返回值类型暂用(NSObject *)
//
//2.私有(对象)方法,如创建对象,实现简单的作一句打印就可以.
//
//
//3.对象方法, 怎么创建对象,返回值是一个 SEL 类型,返回创建对象的私有方法.
//
//
//4. 在main函数中,首先调用创建对象的方法.
//
//
//5. 在main函数中, 调用第三步创建的方法,获得一个 SEL 然后手动调用

#import <Foundation/Foundation.h>

@interface TXWPerson : NSObject
{
    NSString *_name;
    int _age;
}
-(void)setName:(NSString *)name;
-(NSString *)name;
-(void)setAge:(int )age;
-(int)age;
+(TXWPerson *)personWithName:(NSString *)name andAge:(int)age;

+(NSObject *)returnDuiXiang:(Class )duiXiang;
-(SEL)returnDuiXianSEL;
@end

//
//  TXWPerson.m
//  51-谭显文作业
//
//  Created by jolly on 16/5/20.
//  Copyright © 2016年 jolly. All rights reserved.
//

#import "TXWPerson.h"

@implementation TXWPerson
-(void)setName:(NSString *)name{
    _name = name;
}
-(NSString *)name{
    return _name;
}
-(void)setAge:(int )age{
    _age = age;
}
-(int)age{
    return _age;
}
+(TXWPerson *)personWithName:(NSString *)name andAge:(int)age{
    TXWPerson * p1 = [TXWPerson new];
    p1->_name = name;
    p1->_age = age;
    [p1 daYing];
    return p1;
   
}
+(NSObject *)returnDuiXiang:(Class )duiXiang{
    return [duiXiang new];
}
-(void)daYing{
    NSLog(@"我好烦啊");
}
-(SEL)returnDuiXianSEL{

    SEL s1 = @selector(daYing);
    return s1;
}

@end
#import <Foundation/Foundation.h>
#import "TXWPerson.h"

int main(){
    NSObject * p1 = [TXWPerson returnDuiXiang:[TXWPerson class]];
    NSLog(@"%@",p1);
   
   
    TXWPerson * p2 = [TXWPerson personWithName:@"荡荡" andAge:25];
    SEL s1 = [p2 returnDuiXianSEL];
    [p2 performSelector:s1];
   

   
    return 0;
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马