您的位置:首页 > 其它

OC_可见度和方法(设置器.访问器.赋值语句.交叉文件)

2015-07-28 08:57 260 查看
一.成员变量的可见度

1.几种可见度关键字
如果没写可见度,默认是被保护的,被保护的成员变量可以在当前类及
其子类来使用
(1) @public的级别是最低的,都可以用对象->的方式找到成员变量,不安全
(2) @protect
(3) @private 私有的:只能当前的类使用,使用范围很小
(4) @package 这个是系统一些文件来使用,系统来用,如果以后看见了直接
跳过就行


2.方法
前述:方法有两种---加号方法,称为类方法这种方法一般类来使用,比
如alloc
---减号方法,称为实例方法,一般对象来调用,比如我
们自己写的sayHi
(1)说明事项:
设置器与访问器都是针对一个成员变量进行只能存储和读取,当对多个成员变量进行操作的时候,称为赋值语句
对成员变量的赋值语句,只要是有参数就一定加冒号,冒号的作用相当于标识参数,方法名的冒号也不能省略
在调用方法的时候我们通过参数形容词知道对应 要填的参数,参数名是在方法实现的时候用的    如赋值等
-(void)setStuName:(NSString *)stuName ;
如果写声明,但是没实现会在.m文件里出现警告,告诉我们应该把方法补全
(2)赋值语句
-(void)setName:(NSString *)name
age:(NSInteger)age;
实现部分
-(void)setName:(NSString *)name
age:(NSInteger)age
{
_name=name;
_age=age;
}
(2)设置器
单个设置变量
-(void)setStuName:(NSString *)stuName;
-(void)setStuAge:(NSInteger)stuAge;
-(void)setStuHonny:(NSString *)stuHonny;
实现部分:
-(void)setStuName:(NSString *)stuName
{
_stuName=stuName;
}
-(void)setStuAge:(NSInteger)stuAge
{
_stuAge=stuAge;
}
-(void)setStuHonny:(NSString *)stuHonny
{
_stuHonny=stuHonny;
}
(3)访问器
-(NSString *)stuName;
-(NSInteger)stuAge;
-(NSString *)stuHonny;
实现部分:
-(NSString *)stuName
{
return _stuName;
}
-(NSInteger)stuAge
{
return stuAge;
}
-(NSString *)stuHonny
{
return stuHonny;
}


交叉引入

定义两个类,分别在对方的.h文件中引入头文件了
1.a的.h文件:
#import <Foundation/Foundation.h>
#import "B.h"
//交叉引入头文件
{
B *_b;
}
@end
2.a的.m文件没有变化
3.#import <Foundation/Foundation.h>
#import "A.h"
@class A;
//@class用它可以防止交叉引入头文件的问题,系统会把A当成是一个已经存在的类来使用,不会把A.h 里的内容进行拷贝,就是用了一下A类的名,其他不做任何检测
@interface B : NSObject
{
A *_a;
}
@end
4.b的.m文件没有变化
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: