您的位置:首页 > 职场人生

黑马程序员-OC基本语法

2014-09-04 15:55 197 查看
  OC是C系列语言,是面向对象的语言,而C语言是面向过程的,那么首先要理解面向对象和面向过程的区别。

面向过程是专注“事件”本身,这件事从发生到结束的行为。例如怎么把大象装进冰箱,面向过程的思想是这样的,首先打开冰箱门,把大象装进去,然后把冰箱门关上。而面向对象是专注于“事物”本身的,同样是装大象,面向对象的思想是这样的,什么东西能装大象去,找到能装大象的冰箱嘛~~~~

面向对象有2个非常重要的概念,类和对象。首先要有类,就是对象的模板,然后用类来创建对象,OC中的语法是这样的:

#import <Foundation/Foundation.h>
@interface Car : NSObject   // 类的声明,声明对象的属性、行为
{
@public      // @public可以让外部的指针间接访问对象内部的成员变量
int wheels;  // 轮胎个数
int speed;   // 时速(xxkm/h)
}
- (void)run;   // OC方法中任何数据类型都必须用小括号()扩住
@end

@implementation Car  //类的实现
- (void)run  // 方法的实现,只要是OC对象的方法,必须以减号 - 开头
{
NSLog(@"车子跑起来了");
}
@end

int main()
{

Car *p = [Car new]; // 利用类来创建对象
Car *p1 = [Car new]; // 创建另一个对象
p->wheels = 5; // 给P对象的属性赋值
p->speed = 300;
p1->wheels = 6; // 给P1对象的属性赋值
p1->speed = 400;
[p run]; // 运行p对象的方法
[p1 run]; // 运行p对象的方法
NSLog(@"车子有%d个轮子,时速位:%dkm/h", p->wheels, p1->speed);
return 0;

}


需要注意一些常见错误

方法

1.对象方法都是以减号 -

2.对象方法的声明必须写在@interface和@end之间
对象方法的实现必须写在@implementation和@end之间

3.对象方法只能由对象来调用

4.对象方法归类\对象所有

函数

1.函数能写在文件中的任意位置(@interface和@end之间除外),函数归文件所有

2.函数调用不依赖于对象

3.函数内部不能直接通过成员变量名访问某个对象的成员变量
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: