Object-C学习笔记之基础知识一
来源:互联网 发布:js查找节点的三种方法 编辑:程序博客网 时间:2024/06/05 09:38
Object-C 是C的衍生语言,继承了所有C语言的特性,但是Object-C并不是继承自C语言特性本身。
首先我们先通过例子来说明Object-C中的一些基本语法:
#import <Foundation/Foundation.h> @interface Print : NSObject{ //Objective-c的所有类都继承于NSObject // 成员属性 NSString *caption; NSString *photographer;} //在Objective-C 2.0引入了属性合成,相当于之前的get/set方法 @property(nonatomic, copy) NSString *caption; @property(nonatomic, copy) NSString *photographer; //类方法+ (NSString*) printName: (NSString *)name;//实例方法- (NSString*) printSize: (NSString *)size;//无参实例方法-(NSString*) printSize;//多参实例方法-(BOOL) print: (NSString *)size setlength: (int)length;@end
上面代码展示了如何在Object-C声明一个类,其中也涉及到了少许继承:
Object-C声明一个类以@interface 开始,以@end 结束;
Print 为所声明的类,继承自NSObject 类;
//类方法+ (NSString*) printName: (NSString *)name{ }//实例方法- (NSString*) printSize: (NSString *)size{ }//无参实例方法-(NSString*) printSize;//多参实例方法-(BOOL) print: (NSString *)size setlength: (int)length{}
相当于Java中的:
public static String printName(String name){}public String printSize(String size){}public String printSize(){}public Boolean print(String size,int length){}
首先要把以前学习面向对象语言的惯性思维抛去,在Objective-C里面没有public和private的概念,你可以认为全是public;它只有类方法和实例方法,加号表示类方法,类方法可以直接调用,而不用创建这个类的实例;减号表示实例方法,需要创建这个类的实例对象才可以调用。
(void)和(BOOL)分别为返回值的类型;
那么BOOL是不是跟Java语言中的Boolean值一样呢,不是的:
BOOL使用8位存储,YES定义为1,NO定义为0,大于1不为YES,跟标准C不同。
若不小心将一个长于1字节的整型值赋给BOOL,则只截取低八位
Obejective-C中1不等于1,绝对不要将BOOL值和YES比较引用转载自:www.cnblogs.com/moonvan
/archive/2011/10/13/2210498.html
//使用@implementation开始和@end结束实现类的内容@implementation Print@synthesize photographer;@synthesize caption;//方法实现+(NSString *)printName{ return @"Print Result";}-(NSString *)printSize //......用法差不多@end
之后,就是如何调用的问题了:
int main(int argc, const char * argv[]){ NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; //实例化类的对象 Print * pt = [[Print alloc]init] //方法的使用 NSString * a = [self printName:@"名字"]; NSString * b = [pt printSize:@"尺码"]; NSString * c = [pt printSize]; BOOL d =[pt print:@"名字" setlength:10];//属性的使用 //设置器调用 [pt setCaption:@"haha"]; [pt setPhotographer:@"hehe"]; //获取器调用 NSString * haha = [pt getCaption]; NSString * hehe = [pt getPhotographer]; //输出 NSLog(@"%@", haha); NSLog(@"%@", hehe); [pt release]; [pool drain]; return 0;}
0 0
- Object-C学习笔记之基础知识一
- IOS学习笔记之Object-C(一)
- ios学习笔记一之Object-c基础
- Object-C学习笔记(一)
- Object-C学习笔记(一)---数据类型
- Object-C学习笔记(一)
- Object-C学习笔记二-----面向对象编程基础知识
- 【学习笔记之汇编语言】【一】基础知识
- Object-C学习笔记
- object-c学习笔记
- Object-C学习笔记
- Object-c学习笔记
- Object-C学习笔记
- object-c学习笔记
- Object-c学习笔记
- Object-C 基础知识笔记(类,方法)
- C笔记之基础知识
- Object C 获取日期(学习笔记一)
- viewpage点击事件
- 搜索二维矩阵 II
- CSS盒子模型
- Ubuntu12.04 64bit 下载android4.3源代码
- 在Windows 8生成和运行Hadoop
- Object-C学习笔记之基础知识一
- 数据编码与精度问题(float)
- Android 简单计算器的实现
- 自定义对话框
- js Math
- 2015 上海网赛 HDU5469 树分治
- 从一道百度面试题到分析输入url到页面返回的过程(或者查询返回过程)
- 电脑突然很卡?!
- js.Date