创建 classes
@interface
#import<Foundation/NSObject.h>
@interface Fration:NSObjecct/*NSObject:NeXTStep Object 的缩写*/
/*继承(inheritance) class: Parent */ { int numerator; int denominator;
/*instance variables*/ } -(void) print; -(void )setNumerator:(int) d; -(void)setDenominator:(int) d; -(int) numerator;
-(int) denominator;
/*Instance methods跟在成员变量后,格式为 scope| (returnType) methodName:(parameterlType)parmeter|Name*/
@end
/*Interface 以一个@end作为结束*/
@Implementation
Fraction.m
#import "Fration.h" #import <stdio.h> @implementation Fration -(void) print { printf("%i/%i",numerator,denomintor); -(void) setNumerator:(int) n { numerator=n; } -(void) setDenominator:(int) d { denominator=d; } -(int) denominator { return denominator; } -(int) numerator { return numerator; }
interface+implements
#import<stdio.h> #impoet "Fraction.h" int main(int argc,const char *argv[]) { //create a new instance Fraction * frac=[[Fraction alloc] init]; /* 在oc中,呼叫method的方法是[object method] c++ object->method()*/ /*[object init]是一个建钩子(constructor)呼叫,负责初始化对象中的所有变量,它呼叫了,[FRACTION ALLOC]传回的instance上的nit method*/
//set the values
/*呼叫了 frac上的setNumeraton 传入1作为参数*/ [frac setNumeraton: 1]; [frac setDenominator: 3]; //print it printf("The fraction is:"); [frac print]; printf("\n"); //free memory
Fraction alloc 做了两件事情,呼叫了Fraction class的alloc method,malloc内存/*继承自NSObject*/ [frac release]; return 0; }