OC-小课堂
来源:互联网 发布:迷宫游戏编程代码 编辑:程序博客网 时间:2024/06/11 00:21
类和对象
面向对象的核心是 类 和 对象
类:具有相同特征和行为的事物的抽象
OC中类的定义
1.接口部分:对外声明类的特征和行为 (.h)头文件
2.实现部分:对内实现类的行为 (.m)
类 和 对象
类是模板,对象是具体表现,对象需要占用内存空间
创建对象分两步:分配内存空间和初始化
分配内存空间:根据类中声明的实例变量为对象分配内存,将所有实例变量默认值0,并返回首地址
初始化:为对象的实例变量设置初始化
创建对象
+(id)alloc;+表示这个方法属于类,只能类执行。id返回值类型,表示任意类型的对象,及创建好的对象
- (id)init;-表示这个方法属于对象,只能对象执行。id返回值类型,表示初始化完成的对象
// alloc 分配内存控件
// init 给成员变量赋值
实例变量可见度、方法
常见的可见度有三个:
1.@public 公开的 实例变量可以在类的内部和外部操作
2.@protected 受保护的 实例变量只能在该类及其子类中操作
3.@private 私有的 实例变量只能在该类内部操作
类的内部就是指该类@implementation 和 @end之间
如何在其他文件中访问对象@protected修饰的实例变量?
1.添加两个方法
2.赋值:通过方法传入参数,在类的内部实现实例变量方法
3.取值:通过方法获取实例变量的值
方法分类:
oc中的方法分为两类:类方法和实例变量方法
类方法:只能类去使用 例如:+(id)alloc 类方法中不能使用实例变量
实例变量:只能对象使用,例如:-(void)hello
-(void)replaceObjectAtIndex:(NSUInteger)index withObject:
(id)anObject;
"-"是方法类型标识符
“void”是方法返回值类型
“replacObjectAtIndex:withObject:”方法名
NSUInteger(id)都是参数类型
index anObject参数名(相当于C语言中的形参)
方法名是:删除了类型标识,返回值类型 ,参数类型,参数名,空格之后剩下的就是方法名类中不能出现同名方法
“:”表示参数,不能省略,有冒号必须有参数
setter getter
在OC里面,为实例变量赋值的方法称作setter(设置器)
读取实例变量的方法被称为getter(访问器)
setter书写格式:-(void)setAge:(int)age;即set+首字母大写的实例变量名(忽视下划线)
getter书写格式:-(int)age;即返回值类型与变量名类型一致,方法名与实例变量名相同(忽略下划线)
#import #include @class
导入头文件,即:导入头文件的内容到当前类
#import“”导入自定以类,#import<>导入类库中的头文件
功能类似于C语言中#include,但是可以避免头文件被重复导入,容易出现循环导入头文件内容
@class:告诉编译器@class后的字符串作为类名使用,并未导入类的接口内容,有效的避免嵌套循环导入
0 0
- OC-小课堂
- oc课堂笔记->属性
- OC课堂笔记->KVC
- Oc课堂笔记->Block块
- Oc课堂笔记->字典NSDictionary
- Oc课堂笔记->字符串NSString
- OC课堂笔记->数组NSArray
- OC课堂笔记->内存管理
- 课堂小练习:秘密
- 前四章课堂小测
- 小白前端课堂
- 课堂小练习
- 课堂小笔记
- java 课堂小知识总结
- java 课堂小知识总结
- 设计模式课堂小笔记
- OC知识小汇总
- oc小练习
- JS-动态和匿名函数
- Oralcle查看锁表
- 电磁波的激发
- JS-全局和局部变量
- 大数据培训
- OC-小课堂
- JS-string对象
- v4l2解释说明(白话易懂版)
- OS X中的绑定
- Java面试题集锦 (一)
- 线性规划
- LeetCode Add Two Numbers
- DOM0, DOM1, DOM2, DOM3
- js判断是否是IE的简单方法