OC中的面向对象三大特性之

OC中的面向对象三大特性之
一、        封装
1、封装具体一点说就是对成员变量的封装,为了防止我们的成员变量被误操作,所以尽量不把成员变量设为public,而是通过set方法向外界提供一个接口,间接地更改类中的属性。通过set我们可以限制传入的值,是我们的代码更安全。
使用set方法要遵守一些规范,例如:
(1)        方法名必须以set开头;
(2)        set后面直接加上成员变量名,并且第一个字母要大写,比如下面例子中的setAge方法;
(3)        返回值一定是void
(4)        一定要接收一个参数,参数类型和成员变量类型一致;
(5)        形参的名称不能跟成员变量名一样。
#import <Foundation/Foundation.h>

@interface Student:NSObject
{
    @public
    int _age;
}
//提供一个方法给外界设置age属性值
- (void)setAgeint)newAge;
- (void)study;
@end



@implementation Student
//set方法的实现
- (void)setAgeint)newAge
{
           if(newAge <= 0)//对传进来的参数进行过滤
        {
            newAge = 1;
        }
        _age = Age;
}
- (void)study
{
        NSLog(@"%d岁的学生在学习",age);
}
@end

int main()
{
        Student *stu = [Student new];
        //stu->age = 20;
        [stu setAge:10];

        [stdu study];
        return 0;
}
2、通过get方法获取属性的值,同样需要遵守相应的规范:
   (1)一定有返回值,与获取属性类型一致;
    (2)方法名与成员变量名一致;
    (3)不接收参数。
#import <Foundation/Foundation.h>

@interface Student:NSObject
{
    @public
    int _age;
}
- (vlid)age;
@end



@implementation Student
- (int)age
{
        return age;
}
@end

int main()
{
        [str age];
        return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值