Objective-C 入门学习

关于OC的一段入门小代码:

-----------------------------------

#import <Foundation/Foundation.h>

//声明Car类,并继承NSObject

@interface Car : NSObject
{
NSString * name;
double price;
int speed;
}

-(void) setSpeed : (int) tempSpeed

-(void) showPrice()
@end

//Car类的方法实现

@implementation Car

-(void) setSpeed : (int) t_speed
{
speed = t_speed;
}

-(void) showPrice
{
NSLog(@"The Price is %f",price)
}
@end

//Car类的使用
Car *mycar = [Car new];
[mycar showPrice];
[mycar setSpeed:70];

---------------------------------

其中Car *mycar = [Car new]; 等同于 Car *mycar = new Car();

其中@interface...@end 和@implements...@end 是关于类的声明相关的定义。注意配套使用的。

注意:

"-"号,这个代表的是对象实例的方法,也就是必须是new出来的对象,才有资格使用这个方法。

"+"号,代表的是类方法,不需要创建实例就可以调用的方法,类似于类的静态方法。

OC的文件组织结构是:

头文件(.h) + 实现文件(.m) 

组织结构像这样(图片摘自网上:):

在OC中BOOL型的定义是这样的:

BOOL flag = NO;

BOOL的定义可以是YES和NO两种。

判断可以这样:

if(flag == YES)

{}

或者这样:

if(flag)

{}

 其实BOOL的真实内涵在程序内部的定义是这样的:

所以至于它的特性内涵、你懂得。

>>>对于一个方法的定义:

-(返回类型) 方法名:(参数类型)参数名   (  例子:-(int) getKey:(int) tempKey  )

>>>多参数传递的方法定义:

-(返回类型) 方法名:(参数类型)参数名 方法名:(参数类型)参数名  

(  例子:-(void) setKey:(int) tempKey  setValue:(int) tempValue )

调用形式:

[myClass setKey:12 setValue:734]

>>>如何新建对象实例:

Car *mycar = [[Car alloc] init]; (推荐)

Car *mycar = [Car new];

使用alloc来分配内存,并使用init来初始化,会将这块内存全部清0,bool型为NO,int型为0,指针为nil

原文地址:https://www.cnblogs.com/vokie/p/3621173.html