oc的第三天

封装&对象的关系
1,类方法
就是在.h文件中声明以但是与之前的格式有所不同
格式:
+(返回值类型)方法名:( 参数类型) 参数 and参数2:(参数类型)参数2;
2.对象方与类方法不同的
就是对象方法以减号开头
在main函数中调用时也不一样
3.在main函数中使用类方法的流程
首先要先创建对象
[类名   类的方法名 :给参数赋值 ];
4.注意
1,类方法不可以使用实例变量,如果要用必须通过参数传过来。
2,类方法可以调用当前类其他类的方法
   [类名  类的方法名];
3,对象方法可以使用实例变量,类方法不可以使用

2,匿名对象
1,可以放访问实际变量,匿名对象访问实例变量只能使用一次
格式:[类名  new] ->_实例变量=赋值 ;
或者
[[类名 alloc]  init];
new =alloc init
alloc 申请空间
init 初始化
调用方法
[[ 类名  new]  方法名];
2,匿名作为方法参数的连续传递
比如人要开车回家
人要调用车才能回家

可读性差

        [[Person new] goHome:[Car new]]; 

3封装        

原理  给实际变量供一个能修改其方法和获取值的方法
利用 set和get 分别在.H和.m文件中进行封装
1,set的命名规范
  

 1set方法一定是一个对象方法(以 -开头)

 2set方法一定没有返回值void

 3) set方法的方法名一定是以set开头,后面跟去掉下划线的实例变量名,而且首字母要大写

 4set方法一定有参数,参数类型和实例变量的类型要一致

 5set方法的形参的名称,一般建议是去掉下划线的实例变量名

 

 6set方法的实现中一定要给实例变量赋值

 

 

        2get方法(获取实例变量的值)

 

命名规范:

 

 1get方法一定是一个对象方法

 2get方法一定有返回值,返回值类型必须和实例变量的类型一致

 3get方法的方法名,一定是去掉下划线的实例变量名

 

 4get方法的实现中,一定要返回实例变量值

 */

2,俩者必须同时出现
比如在。h函数中声明

//set方法

-(void)setName:(NSString *)name;

//get方法

-(NSString *)name;
在。m文件中实现
也就是直接把声明方法调过来然后把分号去掉加上大括号
在{  

在起内部一定要给实例变量赋值
也可以在内部进行过滤 将一些不合实际的过滤调

 }
-(void)setName:(NSString *)name{
_name=name;


记住它没有返回值
}

-(NSString *)name{
在get方法中一定要有返回值
return _name;
}

3,在main函数中怎样调用?
首先还是要创建对象
然后给实例变量赋值
[指针  set实例变量:赋值];


4,依赖关系,人需要手机打电话
  、格式
     人    打电话   手机 

4,static关键字的使用
static不能在声明中修饰实例变量
但是可以修饰局部变量和全局变量 
不能修饰方法

这写修饰全局和局部都是在。m文件中使用





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值