一、类的声明和实现
#import <Foundation/Foundation.h>
//声明对象的属性和行为
@interface Car : NSObject
{
//声明对象属性
int wheels;
int speed;
}
@end
@implementation Car
@end
int main()
{
[Car new];
c->wheels = 4;
c->speed = 200;
return 0;
}
二: 类和对象的方法调用
#import <Foundation/Foundation.h>
//声明对象的属性和行为
@interface Car : NSObject
{
//声明对象属性,成员变量默认是protected,且成员变量不能初始化,不能在外部被直接调用,不能使用static关键字进行修饰
@public
int wheels;
int speed;
}
//声明方法
- (void)run;
- (void)info;
//带参数的方法
- (void)setWhees:(int)wh andSpeed:(int)sp;
@end
@implementation Car
//实现方法
- (void)run
{
NSLog(@"车子在跑。。。。");
}
//在实现方法中可以直接调用类的成员变量
- (void)info
{
NSLog(@"车子的轮子有%d个,车子的速度是:%d",wheels,speed);
}
//带参数的方法
- (void)setWhees:(int)wh andSpeed:(int)sp
{
self->wheels = wh;
self->speed = sp;
}
@end
//定义一个方法
void changeSpeed(Car *car)
{
car->speed = 100;
}
int main()
{
Car *c = [Car new];
//调用成员变量,只有成员变量是public 时,才可以调用成员变量
c->wheels = 4;
c->speed = 200;
//调用方法
[c run];
[c info];
//调用方法,改变对象的成员变量的值
changeSpeed(c);
[c info];
//调用对象的方法,改变成员变量的值
[c setWhees:3 andSpeed:500];
[c info];
//匿名对象
[Car new]->wheels =18;
[[Car new] run];
NSLog(@"%d,%d",c->wheels,c->speed);
return 0;
}
运行结果: