Obj-c面向对象
来源:互联网 发布:2016最新网络流行句子 编辑:程序博客网 时间:2024/04/29 19:51
类的定义:
//类变量
static int count;
@interface Myobject:NSObject{//主要进行成员变量的定义NSString *param;}//主要进行成员方法的定义(不会有方法的实现)-(void) run:(long) time name:(NSString*) name;//属性(setter,getter的简化)@property(copy,readwrite) NSString *param;@end@implementation Myobject//属性组合@synthesize param;//方法的实现-(void) run:(long) time name:(NSString*) name{// do something}@end消息发送 [myobject run:1098 name:@"Me"]属性访问myobject.param成员变量的访问myobject->param属性参数说明:实例构造函数- (id) init{self = [super init];if(self){//do something}return self;}类构造函数//类加载时会调用,并且只调用一次+(void) initialize{//do something}//只有变量具有访问权限修饰符,方法不具有@public随处可以访问@private只有本类可以访问@protected本类和子类可以访问id是泛类型,可以存放各种类型数据,使用id类型也就是使用"动态类型"id类型是在执行时,动态判断出id类型实际代表的类型,而不是自动的转换成相应的类型静态类型可以在编译阶段发现错误并且可读性更好id类型具有很好的灵活性,但是在运行阶段才能发现错误,很难控制分类当需要扩展一个类的功能时可以用分类,另外也可以用继承是一种动态的类型机制,动态绑定机制@interface NSString(reverse)-(NSString*) reverseString;@end@implementation NSString(reverse)-(NSString*) reverseString{// do something}@end协议只负责方法的定义,没有m文件;类似于java中的接口,但协议中没有成员变量定义的方法分为必须实现的方法,和不强制要求实现的方法// 协议@protocol Shape-(void) draw;@end//协议实现(可以实现多个协议,用逗号分开)@interface Rectangle:NSObject<Shape,...>-(void) draw;@end// m文件中必须实现协议中的方法@implementation Rectangle@required // 必须实现-(void) draw{// do something}@optional //可选@end//动态类型,区别于java的写法id<Shape> rect = [[Rectangle alloc] init];两个重要的协议NSCopying对象要进行copy必须实现的协议NSCoding对象想序列化需实现该协议
- Obj-c面向对象
- obj-c编程12:复制对象
- obj-c编程19:关联对象
- OBJ-C类和对象学习笔记
- C与面向对象
- C 面向对象程序设计
- c实现面向对象
- JAVA面向对象C
- c面向对象设计
- c++-->面向对象
- 面向对象(C++)
- [C#] 面向对象
- c#-面向对象
- c实现面向对象
- c实现面向对象
- 面向对象的 C
- Objective C面向对象
- objective-c面向对象
- dateTime转换,美国时间格式错误修正
- 抽象的操作系统(三) --- 事件及处理
- 数据库中自动增长的字段类型
- ORA-609 - opiodr aborting process unknown ospid (18874448) as a result of ORA-609
- Spring中PropertyPlaceholderConfigurer的使用
- Obj-c面向对象
- IEEE802.5 令牌环网
- MFC用户界面包BCGControlBar v19创建Office 2013应用程序【附下载】
- SetWindowRgn( Handle, rgn, true ); // 设置视窗范围
- cmd for 数字枚举
- Segmentation fault core dump调试
- 夸线程通信出错,不能更新控件的值 要怎么解决??
- GCC 编译参数及链接库相关
- Java程序员面试中的多线程问题