首页 > 代码库 > 黑马程序员-OC基本语法

黑马程序员-OC基本语法

  OC是C系列语言,是面向对象的语言,而C语言是面向过程的,那么首先要理解面向对象和面向过程的区别。

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

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

     

 1 #import <Foundation/Foundation.h> 2 @interface Car : NSObject   // 类的声明,声明对象的属性、行为 3 { 4     @public      // @public可以让外部的指针间接访问对象内部的成员变量 5     int wheels;  // 轮胎个数 6     int speed;   // 时速(xxkm/h) 7 } 8 - (void)run;   // OC方法中任何数据类型都必须用小括号()扩住 9 @end10 11 @implementation Car  //类的实现12 - (void)run  // 方法的实现,只要是OC对象的方法,必须以减号 - 开头13 {14     NSLog(@"车子跑起来了");15 }16 @end17 18 int main()19 {20 21     Car *p = [Car new]; // 利用类来创建对象22     Car *p1 = [Car new]; // 创建另一个对象23     p->wheels = 5; // 给P对象的属性赋值24     p->speed = 300;25     p1->wheels = 6; // 给P1对象的属性赋值26     p1->speed = 400;27     [p run]; // 运行p对象的方法28     [p1 run]; // 运行p对象的方法29     NSLog(@"车子有%d个轮子,时速位:%dkm/h", p->wheels, p1->speed);30     return 0;31 32 }

需要注意一些常见错误

 方法
 1.对象方法都是以减号 - 
 2.对象方法的声明必须写在@interface和@end之间
    对象方法的实现必须写在@implementation和@end之间
 3.对象方法只能由对象来调用
 4.对象方法归类\对象所有
 
 函数
 1.函数能写在文件中的任意位置(@interface和@end之间除外),函数归文件所有
 2.函数调用不依赖于对象
 3.函数内部不能直接通过成员变量名访问某个对象的成员变量

 

黑马程序员-OC基本语法