黑马程序员技术交流社区
标题:
实例变量的修饰符 的区别 以及实例方法类方法的调用和区别
[打印本页]
作者:
qinyawan
时间:
2015-11-24 13:08
标题:
实例变量的修饰符 的区别 以及实例方法类方法的调用和区别
//
实例变量的可见度
//
实例变量的可见度修饰的范围
:
这个修饰标识符之后的所有的实例变量
//
可见度的修饰符有
:1.public;2.protected;3.private;4.package
//1.public (
公共的
),
作用域是不受限制的被
public
修饰的实例变量
,
不仅可以在所属的类和子类中直接访问
,
而且还可以被其他类定义的方法直接访问
//public
修饰的实例变量
,
通过
->
来访问
// Student *stu = [[Student alloc] init];
// stu->name = @"
老王
";
//2.protected (
受保护的
),
如果实例变量不写修饰符
.
默认为
protected,
作用域
:
所属类和子类定义的方法中可以访问
// Student *stu = [[Student alloc] init];
// stu->name = @"
阿飞
";
// NSLog(@"%@", [stu getGender]);
// [stu setGender:@"
男
"];
//3.private(
私有的
),
作用域
:
所属的类的方法调用
,
不能被子类定义的方法调用
//4.package(
包
,
框架
),
了解
:
修饰的实例变量子啊所属类中是
public,
在其他类中是
private
//
方法
//
方法分了两种
//1.
类方法
,
类调用
,
方法以
+
开头
//2.
实例方法
,
对象调用
,
方法以
-
开头
//
类方法和实例方法的区别
//
类方法中不能够调用实例变量
//
方法的声明
//1.
无参数
// +/- (
返回值类型
)
方法的名字
//
调用类方法
[
Man
sayHi
];
//
调用实例方法
Man
*man = [[
Man
alloc
init
];
[man
sayHi
];
[man
release
//2.
有一个参数
// +/- (
返回值类型
)
方法名字
:(
参数类型
)
参数名
;
[
Man
sayHi
:
@"
类调用
"
//@class:
告诉编译器
,Man
是一个类
//
如果需要相互调用
,
第一步
@class
第二步在
.m
中导入
.h
//super:
父类
//self:
自己
//
以
MobilePhone
为例
,
父类为
NSObject
//
在类方法
(+)
中
,self
代表的是
MobilePhone,super
代表的是
NSObject
//
在实例方法
(-)
中
,self
代表的是调用这个方法的对象
, super
代表的是以
NSObject
为类型创建的一个对象
(
内部由系统完成
)
//
面试中的话术
//self:
在类方法中代表类名
,
在实例方法中代表调用实例方法的对象
//super:
是编译器指令
,
作用是为了调用父类的方法
;
//
通过方法去访问和设置被
protected
修饰的实例变量
gender
- (
NSString
*)getGender;
//
访问
- (
void
)setGender:(
NSString
*)aGender;
//
设置
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2