黑马程序员技术交流社区

标题: OC的类、对象 简单使用 [打印本页]

作者: 米匠    时间: 2014-10-26 21:48
标题: OC的类、对象 简单使用
最近这两天开始看OC了,之前工作做的是java,看完李明杰老师讲OC的视频,感觉java很多地方和OC很想似,而且发现在学习过程中去对比他俩的不同之处,以及研究其优势和劣势是很有意思的事,渐渐对OC产生了兴趣。之前总是听同事说OC语法怪异,不好学,这也成了大家不去学习新语言的理由,但是真的就像李明杰老师说的那样,如果用OC敲两年代码,再去看java,反而觉得java很怪异,,,,,没错,就是个习惯的问题,,,,,继续学习OC,,,,,谁让咱这么喜欢苹果呢

完整的写一个类,包括声明和实现两个步骤。

#import <Foundation/Foundation.h>
//1、类的声明
//声明对象的属性、行为
@interface Car : NSObject
{//用来声明对象的属性(也叫成员变量,默认会初始化为0)
//@public可以让外部的指针间接访问对象内部的成员变量,其作用域为从所在位置往下所有的成员变量
@public
int wheels;
int speed;
}
//方法声明(行为):方法名、参数、返回值
//只要是OC对象的方法,必须以减号“-”开头
//OC方法中任何数据类型都必须用小括号()扩住
//OC方法中的小括号():用来扩住数据类型
- (void)run;
@end
//2、类的实现
//用来实现@interface中声明的方法
@implementation Car
//方法的实现
- (void)run
{
//方法内访问成员变量直接访问即可
NSLog(@”%d个轮子,%d速度的车子跑起来了”, wheels, speed);
}
@end

int main()
{
//在OC中,想执行一些行为,就写上一个中括号[行为执行者 行为名称]
//用类创建对象
//执行Car这个类的new行为来创建新对象

//定义了一个指针变量p,指向Car类型的对象
//[Car new]会创建出一个新对象,并且会返回新对象本身(新对象的地址)
Car *p = [Car new];
//给p所指向对象的wheels属性赋值
p->wheels = 4;
p->speed = 250;
//给p所指向的对象发送一条run消息,即所谓的OC消息机制
[p run];

NSLog(@“车子有%d个轮子,时速:%d”, p->wheels, p->speed);
return 0;
}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2