oc封装 get set方法访问或者修改属性的值

面向对象的三大特性:

封装(成员变量)、继承和多态

Set方法的作用:为外界提供一个设置成员变量值的方法,不让数据暴露在外,保证了数据的安全性,对设置的数据进行过滤

 

#import <Foundation/Foundation.h>

@interface ComputerSystem : NSObject

{

    char *name;         //系统名称

    int systemSize;     //系统大小

}

//系统描述

- (void)display;

 

//设置系统大小

// - (返回类型)方法名称:(参数类型) 参数名称

- (void)setSystemSize:(int) size;

//获取系统大小

- (int)getSize;

//设置系统名称

- (void)setName:(char *)newName;

//获取系统名称

- (char *)getName;

 

@end

 

#import "ComputerSystem.h"

 

@implementation ComputerSystem

 

//构造函数

//在分配内存后就会被调用

//id 代表万能类型,本质上是个指针

- (id)init{

    //self 表示当前类的对象

    //判断的是,如果能够正常初始化就运行,因为会存在初始化失败的情况,初始化失败的话会返回空

    if (self = [super init]) {

        NSLog(@"我是构造函数");

        

    }

    return self;

}

#pragma mark 设置系统大小

- (void)setSystemSize:(int)size

{

    systemSize = size;

}

 

#pragma mark 获取系统大小

- (int)getSize{

    

    return systemSize;

}

 

#pragma mark 设置系统名称

- (void)setName:(char *)newName

{

    name = newName;

}

 

#pragma mark 获取系统名称

- (char *)getName

{

    return name;

}

 

 

#pragma mark 系统描述

- (void)display

{

    NSLog(@"系统名称:%s,系统大小:%d",name,systemSize);

}

 

@end

 

#import <Foundation/Foundation.h>

#import "ComputerSystem.h"

 

int main(int argc, const char * argv[]) {

    

    // 创建一个电脑系统类,描述它,分析有什么功能

    @autoreleasepool {

        //创建一个实例

//        ComputerSystem *mac = [ComputerSystem alloc];

        //给实例初始化

//        mac = [mac init];

        ComputerSystem *mac = [[ComputerSystem alloc] init];

        [mac setName:"OS X"];

        [mac setSystemSize:200];

        [mac display];

 

        ComputerSystem *windows = [[ComputerSystem alloc] init];

        [windows setName:"windows"];

        [windows setSystemSize:100];

        [windows display];

    }

    return 0;

}

 

posted on 2016-04-16 11:38  小|晄  阅读(177)  评论(0编辑  收藏  举报

导航