Obj-C: Membuat Method

Obj-C: Membuat Method

December 5, 2011 Objective-C 0

Method adalah bagian dari program yang melaksanakan tugas tertentu. Bagian program ini diberi nama yang unik sehingga bisa dipanggil sewaktu-waktu jika diperlukan dan secara berulang-ulang.

Dalam Obj-C, kita dapat membuat Method dengan dua cara:

  1. Instance Method: dipanggil melalui object (Class instance)
  2. Class Method: dipanggil melalui nama Class

Deklarasi Instance Method diawali dengan tanda “-” (minus) sedangkan Class Method diawali dengan tanda “+” (plus).

Selain kedua cara di atas, Obj-C juga mendukung penggunaan C-style method. Ketiga cara tersebut akan saya tunjukkan melalui program berikut ini:

[sourcecode language=”objc”] //
// main.m
//

#import <Foundation/Foundation.h>

@interface Kalkulator : NSObject

– (int) tambah:(int)bil1:(int)bil2;
+ (int) kurang:(int)bil1:(int)bil2;

@end

@implementation Kalkulator

– (int) tambah:(int)bil1 :(int)bil2{
int x = bil1+bil2;
return x;
}

+ (int) kurang:(int)bil1 :(int)bil2{
int x = bil1-bil2;
return x;
}

@end

int Kali(int,int);

int Kali(int bil1, int bil2){
int x = bil1*bil2;
return x;
}

int main (int argc, const char * argv[])
{
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];

// my code starts here
int a = 1;
int b = 2;
int c;
int d;

// contoh: menggunakan instance method
Kalkulator *KalkulatorKu = [[Kalkulator alloc] init];
c = [KalkulatorKu tambah:a :b];
NSLog(@"Hasil penjumlahan: %d + %d = %d n",a,b,c);

// contoh: menggunakan class method
c = [Kalkulator kurang:a :b];
NSLog(@"Hasil pengurangan: %d – %d = %d n",a,b,c);

// contoh: menggunakan C-style method
d = Kali(a,b);
NSLog(@"Hasil perkalian: %d x %d = %d n",a,b,d);
// my code ends here

[pool drain];
return 0;
}

[/sourcecode]

Berikut ini keluaran dari program di atas:

Apa bedanya instance dan class method? Melalui program di atas, jelas Class method lebih praktis penggunaannya ketimbang instance method yg harus dibuatkan object dulu sebelum bisa digunakan. Namun perlu diingat bahwa Class method tidak memiliki akses terhadap Variable dalam Class sehingga hanya cocok untuk method-method yg sederhana dan berdiri sendiri.

 

Leave a Reply

Your email address will not be published. Required fields are marked *