黑马程序员技术交流社区

标题: 封装概念及原理(笔记10)下 [打印本页]

作者: 黑马公公007    时间: 2015-10-20 10:34
标题: 封装概念及原理(笔记10)下
定义一个人物的,并且用封装的原理

封装的概念及原理
一.    在.h文件中

#import <Foundation/Foundation.h>
typedef enum {kSexMan,kSexWoman,kSexYao}
@interface person : NSObject
{
   //定义变量
    NSString *_name;//姓名
    int _age;//年龄
    Sex_sex;//性别
    float_height;//身高
    //_name的set方法,以后对name设置值,一律用此方法
    -(void)setName:(NSString *)name;
    -(void)setAge:(int)age;
    -(void)setSex:(Sex)sex;
    -(void)setHeight:(float)height;
}
-(NSString *)name;
-(int)age;
-(Sex)sex;
-(float)height;

@end
///////////




二.      在.m文件中
#import "person.h"
@implementation person ;
-(void)setName:(NSString *)name{
    _name=name;
}
-(void)setAge:(int)age{
    _age=age;
}
-(void)setSex:(Sex)sex{
    _sex=sex;
}
-(void)setHight:(float)height{
    _height=height;
}

//**********get方法的是实现**********

-(NSString *)name{
    return _name;
}
-(int)age{
    return _age;
}
-(Sex)sex{
    return _sex;
}
-(float)height{
    return _height;
}

@end

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






三.     在main.m文件中


#import <Foundation/Foundation.h>
#include "person.h"
int main(int argc, const char * argv[]) {
    @autoreleasepool {
        person *p=[person new];
        //设置名称
        [p setname:@"王大锤"];
        [p setage:23];
        [p setsex:ksetyao];
        [p sethight:2.00f];
        //打印输出个值
        NSLog(@"%@,%d,%d,%.2f",[p name],[p age],[p sex],[p height])
        
    }
    return 0;
}









欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2