封装的理解及应用
来源:互联网 发布:海康ddns域名注册 编辑:程序博客网 时间:2024/09/21 09:06
封装:
1.什么是封装:
封装是指隐藏对象的属性和实现细节,仅对外提供公共访问方式
2.封装的好处:
将变化隔离。(不管里面怎么变,使用者不需要知道)
便于使用。(使用者只需按照一定的方法使用就可以了)
提高重用性。(任何人都可以对已封装好的功能进行操作)
提高安全性。(由于暴露给使用者的只是一些外在的操作环节,而不是里面本质的东西,所以就提高了对他的维护性,也就是安全性)
3.封装的原则:
将不需要对外提供的内容都隐藏起来。
把属性都隐藏,提供公共方法对其访问。
4.setter方法的实现
4.1set方法一定是一个对象方法
4.2set方法一定不能有返回值
4.3 set方法必须以set开头
4.4set之后跟的是实例变量去掉下划线,并且首字母大写
4.5set方法一定有参数,而且参数的类型和实例变量的类型一致
4.6set方法的形参名 一般是去掉下环线的实例变量名
4.7形参名不能和实例变量名同名
4.8set方法实现中,一定要用形参给实例变量赋值
成员变量:int _age; 的setter方法
-(void)setAge:(int)age{
}
调用
[person setAge:10];
get方法书写规范:
1)get方法一定是一个对象方法
2)get方法一定有返回值,返回值的类型和实例变量的类型要一致
3)get方法的方法名 是去掉下环线的实例变量名
4)get方法一定没有参数
5)get方法的实现中,一定是返回实例变量值
成员变量:int _age; 的get方法
-(int)age{
}
setter
get
//组合模式了解就可以了
组合模式:把具有相同基类类型的对象组合到树形结构中,以表示“部分-整体”的层次结构,使得用户对单个对象和组合对象的使用具有一致性。
依赖关系:
A对象作为B对象的局部变量或是方法形参的,B依赖与A,这时候我们称A与B之间存在一种依赖关系
人坐车回家
[person goHome:car];
关联关系:
当一个对象拥有另外一个对象的时候, 当B对象为A对象的成员变量的时候,B对象与A对象之间存在一种关联关系
关联关系是面向对象中最常用一种关
@interface Person : NSObject
{
封装的代码应用:
#pragma mark main函数
#import
#import"KLine.h"
intmain(intargc, constchar* argv[]) {
}
#pragma markKline的声明Kline.h
#import
@interface KLine: NSObject
{
}
//float _minPrice;
-(void)setMinPrice:(float)minPrice;
-(float)minPrice;
//float _maxPrice;
-(void)setMaxPrice:(float)maxPrice;
-(float)maxPrice;
//float _avPrice;
-(float)avPrice;
@end
#import"KLine.h"
@implementation KLine
//float _minPrice;
-(void)setMinPrice:(float)minPrice{
}
-(float)minPrice{
}
//float _maxPrice;
-(void)setMaxPrice:(float)maxPrice{
}
-(float)maxPrice{
}
//float _avPrice;
-(float)avPrice{
//
}
@end
- 封装的理解及应用
- epoll模型的理解封装与应用
- epoll模型的理解封装与应用
- epoll模型的理解封装与应用
- 事务的理解及应用
- ARC的理解及应用
- 分类的理解及应用
- SSD的理解及应用
- 递归的应用及理解
- session的理解及应用
- Picasso的缓存理解及简单的封装
- Spring的RequestMapping的理解及应用
- SVD分解及应用的直观理解
- 多线程的应用及使用理解
- 第六篇--adapter的理解及应用
- Redis的理解及简单应用
- SVD分解及应用的直观理解
- JSONObject和JSONArray的理解及应用
- sails.js 开启守护进程
- 单片机
- redis
- Xcode快捷键及第一个程序
- 对象和方法之间的关系
- 封装的理解及应用
- 类方法的理解
- 多态的理解
- aop:pointcut expression解析
- 远程消息回调控制同步锁
- 类对象的理解及应用
- 重写构造方法及自定义构造方法的理…
- 模块化学习——AMD
- 内存管理