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的指针,指向该对象的类。
+每一个类
##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的指针,指向该对象的类。
+每一个类
相关文章推荐
- C++中搜索、截取字符串
- c++ 读注册表信息 读取CPU信息
- C++面向对象编程<一>:简介
- 《c++primer》学习随笔——预处理器变量
- Effective C++学习记录
- Effective C++学习记录
- POJ2388——Who's in the Middle
- 【C++】For、While、do···while循环
- neuq oj 1051: 谭浩强C语言(第三版)习题6.7
- C/C++工程DLL中接口的设计
- C/C++工程DLL中接口的设计
- C++ Primer Plus Chapter4
- C++ Primer阅读心得(第十六章)
- sort c++ double
- C++引用
- C++对C的增强
- c与c++不同的总结
- 二级指针
- leetcode刷题系列C++-valid sudoku
- 【C/C++学院】0904-boost智能指针/boost多线程锁定/哈希库/正则表达式