首页 > 代码库 > 黑马程序员 03-类的声明和实现(第一个OC的类)

黑马程序员 03-类的声明和实现(第一个OC的类)

———Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ———

     要描述OC中的类稍微麻烦一点,分2大步骤:类的声明类的实现(定义)。跟函数类似,函数有分函数的声明和函数的定义。

1创建一个Car

  • 定义一个Car类,拥有2个属性:轮子数、时速,1个行为:跑
  • 类名\属性的命名规则:标示符的规则
  • 类名的命名规范:有意义、驼峰标识、首字母大写

2、代码编写

  (1)分析类的3要素

    类名:Car

    属性:轮胎个数(_wheels)、速度(_speed)

    行为:跑(run)

  (2)完整地写一个函数:函数的声明和定义(实现);

     完整地写一个类:类的声明和实现

  (3)类的声明:声明对象的属性、行为(方法)

    类的实现:即方法的实现(说清楚方法里面有什么代码)

 1 //1.类的声明 2 //声明对象的属性、行为 3 // : NSObject 表示Car类继承基类NSObject,目的是:让Car类具有创建对象的能力(new方法属于类方法,它的声明在基类NSObject) 4 @interface Car : NSObject 5 //{}中用来声明对象属性(成员变量\实例变量,默认会初始化为0) 6 { 7    @public//可以让Car类创建的对象的_wheels和_speed属性被外界指针间接访问 8    int _wheels;//轮胎个数 9    int _speed;//速度10 }11   //方法(行为):方法名、参数、返回值(声明、实现),不能写在{}里面12   //只要是OC对象的方法,必须以减号 - 开头13   //OC方法中任何数据类型都必须用小括号()括起来14   //OC方法中的小括号():只用来括住数据类型,不要乱用15   //方法的声明后面不需要{}16 - (void)run;//17 @end18     19 //2.类的实现20 //用来实现@interface中声明的方法21 @implementation Car22   //方法的实现(说清楚方法里面有什么代码)23- (void)run24{25   NSLog(@"轮子个数为%i,时速为%ikm/h的车子跑起来了!", _wheels, _speed);26}27 28 @end29 30 int main(int argc, const char * argv[])31 {32     //在OC中,想执行一些行为,就写上一个中括号[行为执行者 行为名称]33     //利用类来创建一个对象34     //执行了Car这个类的new行为来创建新对象35     //new方法属于类方法36     37     //OC中,只能通过指针间接操作对象的成员变量38     //定义了一个指针变量car1,car1将来指向的是Car类型的对象39     //[Car new]会创建出一个新对象,并且会返回新对象本身(新对象的地址)40     Car *car1 = [Car new];41     42     Car *car2 = [Car new];43     44     car2 -> _wheels = 5;45     car2 -> _speed = 300;46     47     48     //给car1所指向对象的成员变量赋值49     car1 -> _wheels = 4;50     car1 -> _speed = 120;51     52     //car1调用对象方法run53     //给car1所指向的对象发送一条run消息54     [car1 run];55     [car2 run];56     57     return 0;58 }

本节重点:

  1、类的声明写在@interface和@end之间;类的实现写在@implementation和@end之间。注意@end后面没有;号

  2、: NSObject 表示Car类继承基类NSObject,目的是:Car类具有创建对象的能力(new方法属于类方法)

   3、类的声明中,{}中只能用来声明对象属性(成员变量/实例变量),默认会初始化为0。

   4、@public可以在类的外部通过指针间接访问到对象的成员变量/实例变量。

   5、类的声明中,方法(类方法、对象方法)只能写在{}之后,@end之前;注意:方法不能写在{}中。

   6、行为(方法),这里暂时只谈对象方法

     1>方法名、参数、返回值(声明、实现),不能写在{}里面。

     2>只要是OC对象的方法,必须以减号 - 开头

3>OC方法中任何数据类型都必须用小括号()括起来

4>OC方法中的小括号():只用来括住数据类型,不要乱用

5>方法的声明后面不需要{}

7、类的实现用来实现@interface中声明的方法,方法的实现(说清楚方法里面有什么代码)

8、在OC中,想执行一些行为,就写上一个中括号[行为执行者 行为名称];利用类来创建一个对象;

   执行了Car这个类的new行为来创建新对象;new方法属于类方法。
9、[Car new] 完成了3件事:1>分配存储空间;2>初始化成员变量;3>返回空间地址。
10、成员变量的赋值:利用指针间接操作对象的成员变量

//给car1所指向对象的成员变量赋值

    car1 -> _wheels = 4;

    car1 -> _speed = 120;


 

 

 

黑马程序员 03-类的声明和实现(第一个OC的类)