//
//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;
} |
|