Objective-C类,对象,方法
来源:互联网 发布:卓诗尼官方旗舰店淘宝 编辑:程序博客网 时间:2024/04/28 09:44
Objective-C采用特定的语法对类和实例应用方法:
[ ClassOrInstance method];
左方括号后要紧跟类的名称或者该类的实例名称,它后面可以是一个或多个空格,空格后面是将要执行的方法。最后,使用右方括号和分号来终止。请求一个实力或类执行某个操作时就是在向它发生一条消息。
#import <Foundation/Foundation.h>
这是一个系统文件,#import表示将该文件的信息导入或包含到程序中,就像在这里输入该文件的内容。要导入文件Foundation.h因为它包含其他类和函数的有关信息,在程序后面的部分中会用到。
Int main(int argc,const char * argv[])
制定程序的名称为main,是一个特殊的名称,用于准确滴表示程序将在何处开始执行。Main之前的保留字int指定main返回的值类型,该值为整形。
@autoreleasepool{ }
{}之间的程序语句会在被称为自动地释放池的语境中执行。自动释放池的机制是:它使得应用在创建新对象时,系统能够有效地管理应用所使用的内存。NSLog()函数的参数是@”Programming is fun”此处的@位于一对双引号的字符串前面,这称为常量NSString对象。
NSLog是一个Objective-c库中的函数,他仅仅显示或记录其参数,但是之前它会显示该函数的执行日期和时间程序名。
Return 0表示要终止main的执行并发送回一个状态值0
@interface部分:
定义新类时,首先需要告诉Objective-C编译器该类来自何处。即必须为它的父类命名。其次,还必须定义在处理该类的对象时将要用到的各种操作或方法的类型。
选择名称:
Objective-C中变量可以用于存储浮点数,字符,甚至对象(对象的引用)。制定名称的规则相当简单:名称必须以字母或下划线开头,之后可以是任何字幕,下划线或者0-9之间的数字组合。NSArray *colorArray=@[@”red”,@”blue”,@”green”];
类方法和实例方法:
必须定义各种方法才能使用Fraction
Print方法的声明,应该位于接口文件中:
-(void) print;
开头“-”通知Objective-C编译器,该方法是一个实例方法。此外正好“+”表示类方法。类方法是对类本身执行某些操作的方法。如创建类的新实例。
实力方法能够对类的实例执行一些操作,如设置值,检索值,和显示值。
1.返回值:
声明新方法时,必须告诉Objective-C编译器该方法是否又返回值,如有是哪种类型。做到这一点,需要将返回类型放入开头的负号或正号之后的圆括号。因此,声明:
-(int) currentAge;
指定名为currentAge的实例方法将返回一个整形值
类似地语句:
-(double) retrieveDoubleValue;
声明了一个返回双精度值的方法。
如果方法不返回值,可用void类型指明,语句如下:
-(void) print;
这条语句声明了一个名为print的方法,它不返回任何值。
2.方法的参数:
-(void) setNumerator:(int)n;
-(void) setDenominator:(int) d;
他们都是不返回值的实例方法。每个方法都有一个整形参数,这是通过参数名前面的int指明的。
- (void) setNumerator : (int) n;
方法类型 返回类型 方法名称 方法有参数 参数类型 参数名称
@implementation部分:
与注释一样,@implementation部分包含声明在@interface部分的方法的实际代码,且需要制定存储在类对象中的数据类型。在@interface部分声明方法,并在@implementation部分定义它们,@implementation部分的一般格式如下:
@implementation NewClassName
{
memberDeclarations;
}
methodDefinitions;
@end;
NewClassName表示的名称与@interface部分名称相同。可以再父的名称之后使用冒号:
如同在@interface部分使用冒号一样:
2implementation Fraction:NSObject
memberDeclarations部分指定了哪种类型的数据将要存储到Fraction中以及这些数据类型的名称。
@implementation部分中的methodDefinitions部分包含在@interface部分指定的每个方法的代码中。与@interface类似每种方法的定义通过方法的类型,它的返回值和参数进行标识,我们并没有使用分号来结束该行,而是将之后的方法代码放入一对花括号中。使用@synthesize指令能够让编译器自动为你生成一些方法。
myFraction =[Fraction alloc];
Alloc是allocate的缩写。因为要为新分数分配内存存储空间,表达式为:[Fraction alloc]
想新创建的Fraction类发送一条消息。该alloc方法继承自父类。如果向某个类发送alloc消息,便获得该类的新实例。Alloc方法保证对象的所有实例变量都变成初始状态。在创建对象之后还必须对它进行初始化:
myFraction=[Fraction init];
Init方法用于初始化类的实例变量。将init消息发送给myFraction.init方法也可以返回一个值,即被初始化的对象。将返回值存储到Fraction的变量myFraction中。
Fraction*myFraction;
myFraction前的星号*表明myFraction是Fraction对象的引用或指针。变量myFraction实际上并不存储Fraction数据而是存储了一个引用,表明对象数据在内存中的位置。在声明myFraction时它的值是未定义的,它没有被设定为任何值,并且没有默认值。
- Objective-C类,对象,方法
- Objective-C - 类方法与对象方法
- 【Objective-C】类方法与对象方法
- Objective-C基础—类,对象,方法
- [Objective-C] 类、对象和方法
- Objective C语言----类,对象,方法总结
- Objective-C 类,对象,属性,方法
- objective-c 第五天 类 对象 方法
- Objective-C面向对象-Objective-C 对象,实例和方法
- objective-c中的类方法和对象方法
- 黑马程序员Objective-C笔记:对象方法,类方法
- Objective-C 面向对象, 实例方法和类方法
- [1]姥爷幽默谈Objective-C(Objective-C起源,对象,类,方法)
- Objective-C 入门(二)对象 类 变量 方法
- Objective-C开发——类、对象和方法解析
- Objective-C学习笔记2:类、对象和方法
- Objective-c第三章类、对象和方法
- objective-c 基础语法和习题 :类、对象和方法
- 链表堆栈C实现
- IDEA tomcat内存溢出
- 用python 写贪吃蛇AI算法
- nginx正则
- C语言实现矩阵连乘算法
- Objective-C类,对象,方法
- iOS开发见闻-第8期
- HDU 1828 (扫描线)
- Python删除文档中含关键字的行
- [数据结构]队列的基本操作
- 剑指offer1 二维数组中的查找
- Linux学习 - Ubuntu 14.04配置Opencv环境
- 面向对象 eat
- myeclipse中SVN插件安装遇到的问题:Failed to load JavaHL Library