Wednesday, 2017-12-13, 11:18 AM
Welcome Guest | RSS

iPhone全球创业平台

iPhone Global Entrepreneurship Platform

[ New messages · Members · Forum rules · Search · RSS ]
Page 1 of 11
Forum moderator: Freeman 
创业平台论坛 » iPhone开发技术 » 新手提问区 » [Objective-C入门]快速入门
[Objective-C入门]快速入门
FreemanDate: Monday, 2010-11-15, 10:50 AM | Message # 1
GROUP: Administrators
Messages: 71
Status: Offline
・Objective-C
Objective-C就是面向对象的C语言。
你可以使用Objective-C编程,但不使用任何非C语言的东西。
Objective-C使用所有的C语言的内容,同时添加了一些使得它更具面向对象特征的语法。

与C语言一致的部分
数据类型,表达 式,各种运算符
循环:for, while, do while, break, continue
分支:if, else, switch

・Objective-C类定义
---------------------------------------
Bank.h
---------------------------------------
#import <Foundation/NSObject.h>

@interface Bank: NSObject {
NSString *name;
int amount;
}

-(void) print;
-(void) addAmount: (int) a;
-(int) amount;
-(Bank *) initWithName: (NSString *) n andAmount: (int) a;

@end
---------------------------------------

代码说明:
#import是引入库函数
@interface是表明定义了一个类,冒号后面是父类类型
两个大括号之间的部分就是类的成员变量,只有类函数能够直接访问
- 表明要定义一个类对象级别的函数;如果是+,表明要定义类级别的函数
返回值与参数的类型放在()内
函数定义中的: 表明后面会跟一个参数
如果函数有多个参数,格式为“参数名”+“:”+“变量名”
类的函数定义结束后,使用@end关闭

・类实现
---------------------------------------
Bank.m
---------------------------------------
#import "Bank.h"
#import <Foundation/NSObject.h>
#import <Foundation/NSString.h>

@implementation Bank
-(void) print {
printf("Total amount is %i", amount);
}

-(void) addAmount: (int) a {
amount += a;
}

-(int) amount{
return amount;
}

-(Bank *) initWithName: (NSString *) n andAmount: (int) a{
self = [super init];
name = n;
amount = a;
return self;
}

@end
---------------------------------------

代码说明:
@implementation定义函数的具体内容,后面接着类名
函数头按照定义来写
最后用@end来结束所有函数体

・调用写好的类和类函数
---------------------------------------
#import <Foundation/NSObject.h>
#import <Foundation/NSString.h>
#import "Bank.h"

int main( int argc, const char *argv[] ) {

//创建新对象,使用缺省初始化函数
Bank *bankDefault = [[Bank alloc] init];

//创建新对象,使用自定义初始化函数
Bank *bank = [[Bank alloc] initWithName: @"Harry" andAmount: 28];

[bank addAmount: 1];

[bank print];

[bank free]; // 释放对象
[bankDefault free]; // 释放对象

return 0;
}
---------------------------------------

调用类函数的时候,首先创建并初始化对象。
这里我们使用缺省的init和我们自定义的initWithName来分别初始化一个对象;
使用[]来调用函数,按照次序分别是:对象名,函数名,: 参数值(如果有),函数名第二部分(如果有),:第二参数值(如果有);

 
创业平台论坛 » iPhone开发技术 » 新手提问区 » [Objective-C入门]快速入门
Page 1 of 11
Search: