·您现在的位置: 云翼网络 >> 文章中心 >> 网站建设 >> app软件开发 >> IOS开发 >> Objective-C实例方法可见度,方法

Objective-C实例方法可见度,方法

作者:佚名      IOS开发编辑:admin      更新时间:2022-07-23
一 实例方法可见度,方法 1.实例变量的可见度 可见度                                                                       特点 public(公有的)                                              实例变量可以在类的外部和内部操作   PRotected(受保护的,默认的)                         实例变量只能在该类和其子类内操作    private(私有的)                                               实例对象只能在该类内访问 注:所谓的内部,指的是相应类的@implementation 和 @end 之间   思考:为什么不使用@public 关键字: 1.使用@ public 关键字,暴露了类内部的细节. 2.不符合面向对象语言的三大特性之一 __封装     二 .OC中的方法分两种:类方法和实例方法 1.类方法:只能类使用,例如:+(id)alloc   注意:类方法中不能使用实例变量   实例方法:只能对象使用,例如:- (void)sayH; 2.[person sayHi]; 在 OC 中没有”student 调用 sayHi"这种表述 在 OC 中使用消息发送机制:[ receiver   message ]; 正确表述:给 student 对象发送 sayHi 消息. a.student 接收到消息,即方法 sayH; b. student 找到 sayHi 方法,并执行. 3.” : “ 标示参数,不能省略.有冒号必须有参数. 4.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: 自定义初始化方法,根据需求定义初始化方法.   示例: - (id)initWithName:(NSString *) name sex:(NSString *)sex; - (id)initWithName:(NSString *)name sex:(NSString *)sex{   _name = name; _sex = sex; return self;   } 五.  #import  导入头文件,即:导入头文件中的内容到当前类. #import “” 导入自定义类,# import<> 导入类库中的头文件. 功能类似于 C 语言中的# include, 但是可以避免头文件被重复导入   容易出现循环导入头文件问题   六:@ class 告诉编译器@ class 后的字符串作为类名使用,并未导入类的接口内容. 有效避免嵌套循环导入.   总结: a. 实例变量有三种常见的可见度: @public, @protected,@private b.@public 违背了封装特性,面向对象开发中很少使用;@protected 默认可见度,自己和子类中能使用 —>访问实例变量;@ private 自己类中能使用—>访问实例变量. c. 方法是 OC 的核心,采用消息机制:[ receive message]. “-“message 由对象来调用; “+”message 由 类来调用.