Objective-C初探【2】之Classes, Objects, and Methods

Classes, Objects, and Methods

下面学习的Object-c中的类,对象以及方法。

 

Objective-c作为一个面向对象的语言,其中最基础的就是Object.Object之名,就是对象,也就是一样东西。

就现实生活为例,我们的车子是一个对象,它有自己的属性(颜色、牌子等),自己的方法(启动,转左右等)。

言归正传,在OC中,假如我们定义了一个对象为mycar,当我们需要使用其start和turn方法时,如下使用:

  无参数方法   带参数方法
Objective-c写法 [mycar start]; [mycar start:left];
java写法 mycar.start(); mycar.turn(left);

 

有了上诉的对象方法的调用方式,但是我们还少了对象方法的定义。Objective-c中是如何定义一个类呢?

需要通过两个关键的@interface和@implementation部分

interface和implementation共同代表一个类,两者的组合相当于java中的class。

 

下面用一个构造分数的类来说明一下:

@interface部分相当于接口部分,列出类中将会用到的方法(print、setNumerator,setDenominator)--- 制造了一个模具

 

 -(void) print;             OC中方法会以“-”打头,表明这一个方法,紧跟后面(void) 代表的是返回值,最后就是方法的名称print。

 -(void) setNumerator:(int)n;      当见方法中使用":",表明这个方法是带有参数的。(int)参数类型是整形,参数名称为n。

1 @interface Fraction: NSObject
2   -(void) print;
3   -(void) setNumerator: (int) n;
4   -(void) setDenominator: (int) d;
5 @end

 

@implementation部分相当于实现部分,重写了接口的所有的方法 -- 模具为模板,具体的实现

 1 @implementation Fraction
 2 {
 3   int numerator;
 4   int denominator;
 5 }
 6 –(void) print
 7 {
 8   NSLog (@"%i/%i", numerator, denominator);
 9 }
10 –(void) setNumerator: (int) n
11 {
12   numerator = n;
13 }
14 –(void) setDenominator: (int) d
15 {
16   denominator = d;
17 }

 

OC就是这样通过

1.@interface

2.@implementation

3.[mycar start];

完成了方法的创建,以及调用。

 

 

以上主要参照Programming in Objective-C 6th Edition的内容,进入了个人的学习,如有错漏,烦请指正。

posted @ 2015-10-20 11:25  HealthTree  阅读(170)  评论(0编辑  收藏  举报