天天看點

黑馬程式員-OC——類和對象

類名;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;

]