码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2014-09-27 03:25:49      阅读:235      评论:0      收藏:0      [点我收藏+]

标签:android   style   blog   http   color   io   os   ar   java   

———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 @end
18     
19 //2.类的实现
20 //用来实现@interface中声明的方法
21 @implementation Car
22   //方法的实现(说清楚方法里面有什么代码)
23- (void)run
24{
25   NSLog(@"轮子个数为%i,时速为%ikm/h的车子跑起来了!", _wheels, _speed);
26}
27 
28 @end
29 
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调用对象方法run
53     //给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的类)

标签:android   style   blog   http   color   io   os   ar   java   

原文地址:http://www.cnblogs.com/xdl745464047/p/3995916.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!