OC类

来源:互联网 发布:去小公司写php怎么样 编辑:程序博客网 时间:2024/06/11 03:49
实例变量的可见度                                          
public(公有的)
实例变量可以在全局范围内被任意操作
protected(受保护的,默认的)
实例变量只能在本类和其子类内操作
private(私有的)

实例变量只能在本类中操作


 方法分类:
OC中的方法分两种:类方法和实例方法。
类方法:只能类使用,例如: +(id)alloc 注:类方法中不能使用实例变量

原因 (1), 一个类中有多个实例变量

(2), 一个类中可能还没有定义实例变量   类是空的
实例方法“只能对象使用。例如:- (void)sayHi
方法名怎么找?
删除:类型标识,返回类型,参数类型,参数名,空格。 例如:
replaceObjectAtIndex:withObject:
类中不能出现同名方法。
“:”标识参数,不能省略。有冒号必须有参数。
在oc中没有person调用sayHi这种表述
在oc中使用消息发送机制 :[接受者 消息]
正确表述 :给person对象发送sayHi消息
①person接收到消息。即方法sayHi
②person找到sayHi方法,并执行。
当一个类中定义的实例变量的可见度为protected或者private时,这些实例变量无法通过实例对象名加指向操作符再加实例变量名的形式直接访问,这个时候可以为该类定义赋值烦方法和取值方法实现间接访问。
- (void)setColor:(NSString *)color {    //当执行该方法时,color作为形参,会拷贝实参的内容,并且将拷贝到的内容赋值给对应需要操作的实例变量。    _color = color; }
- (返回值类型)变量名:(参数类型)形参   没有返回值时  用void  类型名都用小括号括起来 包括返回值类型 参数类型

变量名用set开头 参数只有一个时   称为setter方法 或者设置器  -(参数类型) 形参 访问形式  称为getter方法

实例变量“color”访问类的方法。
#import
导入头文件,即:导入头文件中的内容到当前类
#import“”导入自定义类    #import<>导入类库中的头文件。
功能类似C语言中的#include,但是可以避免头文件被重复导入。
容易出现循环导入的问题。
@class
告诉编译器@class 后的字符串作为类名使用,并未导入类的接口内容。
有效避免嵌套循环导入。

但是不在.h中导入  则必须在.m文件中导入
实例变量有3种常⻅见的可⻅见度:@public、@protected、@private。
@public违背了封装特性,⾯面向对象开发中很少使⽤用;@protected默 认可⻅见度,⾃自⼰己和⼦子类中能使⽤用—>访问实例变量;@private⾃自⼰己类 中能使⽤用—>访问实例变量。
方法是OC的核心,采⽤用消息机制:[receiver message]。 “-”message由对象来调⽤用;“+”message由类来调⽤用。

[对象名  方法名 ]
0 0
原创粉丝点击