函數與對象,函數對象

來源:互聯網
上載者:User

函數與對象,函數對象

執行個體:寫一個車的類

 

//類的聲明部分

@interface Car : NSObject

{

  int _speed;   //速度

  int _wheel;   //輪子

}

-(void)run;

@end

 

//類的實現部分

@implementation Car

-(void)run{

  NSLog(@"車的速度是:%i,輪子是%i",_speed,_wheel);

}

@end

//函數的存在不依賴於類

void test1(Car *_car){

  _car->_speed = 120;

  _car->_wheel = 2;

}

 

//OC的類都是資料類型,可以做參數

void test2(Car *_car){

  Car *car2 = [Car new];

  car2->_wheel = 4;

  car2->_speed = 200;

 

  _car = car2

 

  _car->_speed = 220;

  _car->_wheel = 6;

}

 

#import <Foundation/Foundation.h>

int main(){

  Car *car1 = [Car new];

  car1->_speed = 100;

  car1->_wheel =4;

  

  test2(car1);

  [car1 run];  //實現的結果還是100  4

  return 0;

}

 


java中函數與對象的不同

//假設這個是人對象public class Person{ private String name;//他可以擁有名字屬性 private int age;//年齡屬性 //這個就是方法(也可以叫函數),這種是沒有傳回值的 public void eat(){ System.out.println("吃東西"); } //這個是有傳回值的 public boolean isFat(int kg){ if(kg==100){ System.out.println("太肥了"); } }}
 
對象與成員函數

類是c++的一種資料類型,是一個屬性(資料)集及其操作(行為)的封裝體;對象是類的一個具體的執行個體,具有該類的屬性;這兩者就是共性和個性的關係。
類定義的時候一般都包括聲明資料成員和成員函數,成員函數規定了類的行為屬性,當然建構函式也是一個成員函數
對於前兩個補充問題,可以這麼理解。最後一個,這個對象已經不完全屬於這個類了,它有自己專屬的資料和行為,那麼它是屬於這個類的一個衍生類別的對象,也就是擁有了基類的一種衍生類別的所有屬性。歸根結底,還是一句話,一種對象是對應類的一個執行個體
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.