面向对象特性之封装性(set方法、get方法)

初学者:可理解为,封装就是对成员变量(属性)的封装,把属性隐藏起来,对外提供一个方法,让外界通过一个方法设置属性的值。即,封装性就是隐藏实现细节,将属性私有化,提供公有方法访问私有属性。
进一层:方法也是封装。把一堆代码封装到一个方法里面去,隐藏实现细节。
再进一层:类也是一个封装。把类里面所有的方法都隐藏起来,只对你暴露一些接口。
再再进一层:一个包一个框架也是一个封装。例如,系统给我们提供了Foundation框架,我们只需知道有哪些接口,哪些方法,直接调用就可以了。
 
封装的目的:
同set方法封装属性,可以过滤掉一些不符合逻辑的数据,保证了我们数据的正确性
提高了代码的健壮性

封装的好处:
将变化隔离
提高代码的重用性
提高了代码的安全性

封装属性:
向外部提供设置属性的set方法
 - (void)setName: (NSString *)name;
向外部提供访问属性的get方法
- (NSString *)name;
在开发当中有时候只提供get方法,该属性称之为只读属性
有时候只提供set方法,该属性就称之为只写属性
 
OC有一个约定
给成员变量赋值提供一个叫做set方法的方法:
1.一定是对象方法
2.返回值一定是void
3.一定以set开头,set后面跟上成员变量的名称去掉下划线,并且首字母大写
4.一定有参数,并且参数类型和成员变量类型一致,参数名称和成员变量名称去掉下划线相同
取成员变量的值提供一个叫做get方法的方法:
1.一定是对象方法
2.一定有返回值,并且返回值类型和成员变量类型一致
3.方法名称和成员变量去掉下划线一致
4.一定没有参数
 

成员变量以下划线开头好处:
1.可以和局部变量区分开来
2.可以和方法的参数区分开来
3.只要你打下划线就可以找到成员变量
4.ios程序员都按照这个规则区写,提高了代码的阅读性

 

转载于:https://www.cnblogs.com/xiaocaibaobao/p/4538911.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值