Object-c 学习总结
来源:互联网 发布:网络投资诈骗怎么办 编辑:程序博客网 时间:2024/06/12 00:02
一、语言基础
1、注释Object-C 中的注释 和 c++ 一样为 // 单行注释, /**/ 多行注释
2、包含头文件 用 #import<系统库头文件> #import "自己的头文件"
3、类
3.1 类的申明
@interface 类名: 父类名 <遵循的协议1, 遵循的协议1>{@public@private@protected 数据成员}-(返回类型) 实例函数名 :(参数一类型) 参数名;+(返回类型) 类函数名 : (参数一类型) 参数;@end
3.2类的实现
@implementation 类名+(函数返回值) 类函数名:(参数类型) 参数名{ 函数实现;}-(函数返回值) 实例函数名:(参数类型) 参数名{ 函数实现;}@end
3.3 对象实例化和初始化
类名 *对象名 = [类名 alloc]; //实例化一个对象[对象名 init]; //初始化对象上面两个操作可以缩写为类名 *对象名 = [[类名 alloc] init]; //实例化一个对象并初始化。3.4 对象释放
//创建的对象要记得释放否则就会导致内存泄露[对象名 release];
3.5 对象方法的调用
//object-c 中对象方法的调用被称作向消息接受体发送消息具体使用方法为[消息接收体 消息名];
3.6 对象成员数据的访问
实例对象的数据成员默认是 @protected 权限的。
1、自定义方法获取/设置 成员数据
对数据成员的访问可以通过对象的成员方法,object-c 中成员方法和成员数据的名字是可以相同的。
2、通过 存取器方法,自动生成 获取/设置 成员数据方法
2.1 在类申明部分将实例变量 通过 @property 指令标识属性
2.2 在类实现部分 通过 @synthesize 指令定义
example:
@interface TestClass : NSObject{ int member;}@property int member;@end@implementation TestClass@synthesize member;@end通过这个方法就自动生成了 member 的 set 和 get 方法。
#import <Foundation/Foundation.h>@interface TestClass : NSObject{ int Value;}@property int Value;@end@implementation TestClass@synthesize Value;@endint main(int argc, const char * argv[]){ NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; TestClass *a = [[TestClass alloc] init]; //[a setValue: 10]; NSLog(@"Hello world!! %i", [a Value]); [pool drain]; return 0;}
3.7 self 关键字,super 关键字
self 关键字相当于 c++ 中得 this
super 关键字代表类的父类。
3.8 对象初始化
3.9 对象释放
重载 NSObject 中得 dealloc 方法实现释放对象中实例化的对象,防止内存泄露
需要注意的是在重载了 dealloc 方法时还是要记得调用父类的 dealloc 方法释放父类的对象释放操作。
3.10 分类(通过分类为类扩展功能)
@interface 已有类类名 (分类名)-(返回值类型) 扩展方法名:(参数类型) 参数名; @end@implementation 已有类类名 (分类名)-(返回值类型) 扩展方法名:(参数类型) 参数名{方法实现;}@end注意: 1、分类只可以访问原类的成员变量,不能增加。
2、分类可以重载原类的方法,但是这种设计是不合理的(这么做了后原来的方法就访问不到了)。重载类的方法应该通过继承实现(这样还能通过 super 访问到原来的方法)。
3、可以创建很多分类。
4、分类不一定要实现申明的方法。可以只是先申明但是不实现。
3.11 协议
协议用来规范接口的。相当于c++ 中得抽象基类,java 中得interface 接口。
@protocol 协议名-(返回值类型) 方法名:(参数类型) 参数名;@end
4、数据类型和表达式
object-c 中的基本数据类型和c基本一致:(其中比较特殊和关键的类型为 id 它可以存储任意类型的数据它使objectc 实现多态的关键)
- Object-c 学习总结
- Object-C学习总结1
- object-c 学习总结2
- object-c 学习总结3
- object-c 学习 知识点总结
- object-c 基础动画的学习总结
- object-c 总结
- Object-C编程总结
- Object-C总结摘录
- Object-C总结摘录
- object-c 总结
- object-c问题总结
- object C 简单总结
- Object-c 数组总结
- object-c 日期总结
- Object类学习总结
- object-c学习:初识object-c
- object-c 学习小记
- android发送/接收json数据
- Spring Security调研记录【一】--实现基本认证与Url权限控制
- 疯狂Java学习笔记(52)-----------Annotation(注释)第一篇
- Delphi 怎样 把TParams 或 record写到流里面
- Win7下用VS2010编译QGIS2.9.0
- Object-c 学习总结
- 微商
- POJ 题目1986 Distance Queries(LCA 离线)
- BZOJ 3196 二逼平衡树 线段树+treap
- 良品铺子的“来往饼”,凭什么搞社交?
- 在cocos2dx 中如何使用中文
- C++中括号()操作符的重载举例及解析
- 仿射变换---位移+缩放比例+旋转
- Java中HashMap和SparseArray的数据结构