美文网首页
成员变量封装 — set 和 get 方法

成员变量封装 — set 和 get 方法

作者: 浮桥小麦 | 来源:发表于2016-06-23 00:03 被阅读182次

前言:这是写给自己看的,很简单的东西

pragma mark — 01 成员变量封装
  • 创建一个Person有体重这个属性,看.h文件
  Person.h
@interface Person : NSObject

{
    //person类有成员变量体重
    int _weight;
}
//设定一个方法每天体重加1
- (void)addWeight;
//由于我们没有将这个属性设置为公有的,所以外界拿不到,我们也不想外界拿到我们的成员变量属性,我们就得给成员变量写两个方法一个给成员变量赋值的方法,一个在外界取得成员变量的方法
//赋值
- (void)assignmentWeight:(int)weight;
//取值
- (int)weight;
@end

  • Person.m
#import "Person.h"
@implementation Person
//设定一个方法每天体重加1
- (void)addWeight
{
    _weight ++;
    NSLog(@"%d",_weight);
}

//赋值
- (void)assignmentWeight:(int)weight
{
   //我们可以对外界传进来的参数进行判断,体重不能为负数
    if (weight < 0 )
    {
        weight = 0;
    }
    _weight = weight;
}

//取值
- (int)weight
{
    return _weight;
}
@end

  • 执行文件,最后打印出体重为51
#import "ViewController.h"
#import "Person.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
 Person *person1 = [[Person alloc]init];
    //外界调用赋值方法给体重赋值
    [person1 assignmentWeight:50];
  [person1 addWeight];
    //用取值方法取值
    NSLog(@"%d",[person1 weight]);
}
@end

pragma — mark - set 和 get
  • 成员变量的set和get方法
比如对 int _size 写出其set和get 方法
方法声明:
/*
 setter方法:
 作用: 设置成员变量的值
 格式:
 1. setter方法一定是对象方法
 2. 一定没有返回值
 3. 一定以set开头, 并且set后面跟上需要设置的成员变量的名称去掉下划线, 并且首字母大写
 4. 一定有参数, 参数类型一定和需要设置的成员变量的类型一致, 并且参数名称就是成员变量的名称去掉下划线
*/
- (void)setSize:(int)size;

/*
 getter方法:
 作用: 获取成员变量的值
 格式:
 1. getter方法一定是对象方法
 2.一定有返回值, 而且返回值一定和获取的成员变量的类型一致
 3.方法名称就是获取的成员变量的名称去掉下划线
 4. 一定没有参数
 */
- (int)size;

方法实现:
- (void)setSize:(int)size;
{
    
     //成员变量以下划线开头的好处,就是可以区分局部变量和成员变量
     
    _size = size;
}

- (int)size
{
    return _size;
}

相关文章

  • spring注解

    Java bean:封装类成员变量(定义成员变量为private,提供get、set方法,以便向后兼容) AOP:...

  • 成员变量封装 — set 和 get 方法

    前言:这是写给自己看的,很简单的东西 pragma mark — 01 成员变量封装 创建一个Person有体重这...

  • C++入门04 --封装,内存布局,内存分配,构造/析构函数

    封装 成员变量私有化,提供公共的set,get方法给外界去访问成员变量; this是指针,通过指针访问结构体的成员...

  • iOS KVC探索

    成员变量、实例变量、属性 成员变量:不会自动生成get、set方法,成员变量不能用点语法调用,因为没有set和ge...

  • 2018-06-16(dao)

    dao:数据访问对象,主要用来封装对数据库的访问。 实体类:只有成员变量、成员变量的get、set方法、构造函数。...

  • 主题三《Category、关联对象》

    注意:给分类添加的属性只会生成set方法和get方法的声明,并不会生成成员变量和set方法及get方法的实现,为了...

  • @property,@synthesize,@dynamic

    @property1>生成get/set方法声明2>生成私有成员变量3>生成get/set方法实现 @ synth...

  • OC的属性和关键字总结

    属性 ps. kvc和kvo对局部成员变量无效,就是因为局部成员变量没有set/get方法。 @property有...

  • JAVA对象创建过程内存图解

    1、类与对象 类是现实事物的抽象,将现实事物描述成对应的类,类中封装了成员变量、构造方法、成员方法、set/get...

  • JAVA对象创建过程内存图解

    1、类与对象 类是现实事物的抽象,将现实事物描述成对应的类,类中封装了成员变量、构造方法、成员方法、set/get...

网友评论

      本文标题:成员变量封装 — set 和 get 方法

      本文链接:https://www.haomeiwen.com/subject/rlundttx.html