天天看点

iOS开发之OC实例可见度,方法

一、实例变量可见度

iOS开发之OC实例可见度,方法

所谓的内部,指的是相应类的@implementation 和@end之间

为什么不使⽤用@public?

1、使⽤用@public关键字,暴露了类内部的细节。

2、不符合⾯面向对象语⾔言的三⼤大特性之⼀一 — 封装

二、方法

OC中的⽅法分两种:类方法和实例方法。

类⽅方法:只能类使⽤用,例如:+(id)alloc 注:类方法中不能使用实例变量

实例⽅法:只能对象使⽤用,例如: -(void)sayHi

iOS开发之OC实例可见度,方法

方法名

1.删除:类型标识,返回类型,参数类型,参数名,空格。例如:

replaceObjectAtIndex:withObject:

2.类中不能出现同名⽅方法。

3.“ : ” 标识参数,不能省略。有冒号必须有参数。

iOS开发之OC实例可见度,方法
iOS开发之OC实例可见度,方法

setter、getter

在OC里,为实例变量赋值的方法称作setter (设置器)。 读取实例变量值的方法称作getter(访问器)。

书写格式:

OC⾥规定了setter和getter的书写格式。

如果⼀一个实例变量是int age;或者int _age; setter的书写格式如下:- (void)setAge:(int)age;即set+首字母大

写的实例变量名(忽略下划线)。

getter的书写格式如下: - (int)age;即返回值类型与变量类型一 致,方法名与实例变量名相同(忽略下划线)

无论setter还是getter内部操作的是实例变量 每一个实例变量都需要一对setter和getter方法。

自定义初始化方法

-(id)init 这个初始化方法只能给实例变量设置默认值,不灵活。

-(id)initWithName: 自定义初始化方法,根据需求定义初始化方法。

iOS开发之OC实例可见度,方法

#import

导入头⽂文件,即:导入头文件中的内容到当前类。

import “”导入自定义类,#import <>导入类库中的头文

功能类似C语⾔言中的#include,但是可以避免头文件被重复导入。

容易出现循环导⼊入头⽂文件问题。

@class

告诉编译器@class后的字符串作为类名使用,并未导⼊入类的接口内容。

有效避免嵌套循环导入。