封装的概念及原理

                                                             《封装的概念及原理》


1.

封装的原理:实例变量默认只能被当前类的对象访问


2.

将数据隐藏起来,只能用此类的方法函数才可以访问活着设置数据,不可被外部任意存储时面相对象涉设计本质,降低了数据被无用的可能性


3.

在 OC语言中,使用@innterface和@impiementation来处理类


4.

不封装的缺点:当一个类把自己的属性暴露给外部的时候,那么该类就失去了对属性的管理权


5.

封装的步骤:

        定义设置实例变量(setter)方法

        访问实例变量(getter)的方法


6.

setter方法(设置器)

   在setter方法的内部也可以对一些不合理的赋值进行筛选过滤


7.

set方法的作用:为外界提供一个设置成员变量值的方法


8.

命名规范:


     方法名必须以set开头

     set后面跟上成员变量名称,首字母大写(_age—>setAge)

     返回值一定是void

     一定要接受一个参数,而且参数类型跟成员变量类型一致

     形参名不能与变量名一致


9.

set方法的好处

     不让数据暴露在外,保证了数据的安全性

     对设置的数据进行过滤

10.

getter方法(访问器)


  1)get方法到作用:为调用着返回对象内部的成员变量

  2)命名规范

       一定要有返回值,返回值类型和成员变量类型一致

       方法名和成员变量名一样

       不需要接受任何参数

     3)set方法实现中,一定要用形参给实例变量赋值







在.h文件中


#import <Foundation/Foundation.h>

typedef enum {kSexMan,kSexWoman,kSexYao}

@interface person : NSObject

{

   //定义变量

    NSString *_name;//姓名

    int _age;//年龄

    Sex_sex;//性别

    float_height;//身高

    //_nameset方法,以后对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;

}



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值