您的位置:首页 > 编程语言 > C语言/C++

iOS 学习第十四天 OC语言 OC中的私有方法

2016-02-21 20:51 225 查看
# OC中的私有方法

##1.OC中的私有变量

- 在类的实现即.m文件中也可以声明成员变量,但是因为在其他文件中通常都只是包含头文件而不会包含实现文件,所以在.m文件中声明的成员变量是@private的。在.m中定义的成员变量不能和它的头文件.h中的成员变量同名,在这期间使用@public等关键字也是徒劳的。

@implementation Dog

{

@public

int _age;

}

@end

##2.OC中的私有方法

- 私有方法:只有实现没有声明的方法

- 原则上:私有方法只能在本类的方法中才能调用。

+>注意: OC中没有真正的私有方法

@interface Dog : NSObject

@end

@implementation Dog

- (void)eat

{

NSLog(@"啃骨头");

}

@end

int main(int argc, const char * argv[]) {

Dog *d = [Dog new];

SEL s1 = @selector(eat);

[d performSelector:s1];

return 0;

}

# 类的本质

##1.类的本质

- 类的本质其实也是一个对象(类对象)

- 程序中第一次使用该类的时候被创建,在整个程序中只有一份。

- 此后每次使用都是这个类对象,它在程序运行时一直存在。

- 类对象是一种数据结构,存储类的基本信息:类大小,类名称,类的版本,继承层次,以及消息与函数的映射表等

- 类对象代表类,Class类型,对象方法属于类对象

- 如果消息的接收者是类名,则类名代表类对象

- 所有类的实例都由类对象生成,类对象会把实例的isa的值修改成自己的地址,每个实例的isa都指向该实例的类对象

创建实例对象

Dog *g = [Dog new];

Class c = [Dog class];

Dog *g1 = [c new];

##4.类对象的存储

![](http://7xj0kx.com1.z0.glb.clouddn.com/ldxcc.png)

##5.OC实例对象 类对象 元对象之间关系

- Objective-C是一门面向对象的编程语言。

+每一个对象 都是一个类的实例。

+每一个对象 都有一个名为isa的指针,指向该对象的类。

+每一个类
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: