類名;Car
屬性 :輪胎個數、時速
行為:跑
// 因為使用了NSobject
#import <Foundation / Foundation .h>
//完整地寫一個函數:函數的聲明和實作
//完整的寫一個類:類的聲明和實作
// 類的聲明
//聲明對象的屬性、行為
//NSobject 的目的是:讓Car這個類具備建立對象的能力
@interface Car : NSObject
{
//用來聲明對象屬性
//@public可以讓外部的指針間接通路對象内部的成員變量
@public
int wheels; //輪胎個數
int speed; //時速
]
// 方法;方法名、參數、傳回值
// 隻要OC對象的方法,必須以減号-開頭
//OC方法中任何資料類型必須用小括号()包覆
// OC方法中的小括号();包覆資料類型
- (void)run ;
@end
// 類的實作
@ implementation Car
// 方法的實作
- (void)run
{
NSLog (@"車子跑起來了");
]
@end
int main ()
{
//在OC中,想執行行為,就寫上一個中括号[行為執行者 行為名稱]
// 執行了Car 這個類的new行為來建立新對象
//定義了一個指針變量p,p将來隻想的是Car類型的對象
// [Car new ] 每次都會建立出一個新對象,并且會傳回新的對象本身
Car *p = [Car new];
Car *p2 = [Car new ];
p2 - >wheels = 5 ;
p2 - > speed = 300 ;
[p2 run ];
// 給p所指向對象的wheels 屬性指派
p - >wheels =4 ;
p - > speed =250 ;
//給p所指向對象發送一條run 消息
[p run ];
NSLog (@"車子有%d個輪子,時速 :%d km/h", p-> wheels, p2 ->speed);
return 0;
]