Obj-C: Kenapa kita perlu Header file? (bagian 3)

Obj-C: Kenapa kita perlu Header file? (bagian 3)

December 7, 2011 Objective-C 0

Tutorial ini masih berkaitan dengan kegunaan file Header, kali ini untuk keperluan subclass.

Lihat tutorial sebelumnya:

Pada tutorial sebelumnya kita mencoba memanggil method2 yg berada di dalam file Header (MyClass.h) dan sebuah file Object (MyClass.0), yang berasal dari project yang lain. Dari tutorial tersebut kita belajar bahwa Header file memungkinkan kita untuk melihat daftar Method dan parameter2nya yg berada di dalam file Object (yg dalam hal ini unreadable) sehingga dapat kita gunakan dalam project2 kita.

Dalam tutorial kali ini, kita akan mempelajari kegunaan lain dari Header file, yakni: membuat subclass. Dengan adanya Header file dan file implementation-nya (baik dalam bentuk source-code maupun file object), kita dapat meng-importnya ke dalam kode program kita sambil menambahkan fasilitas2 baru yg kita butuhkan.

Untuk jelasnya, editlah kode program dalam Tutorial sebelumnya untuk menambahkan sebuah method yg baru: tambah1.

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

#import <Foundation/Foundation.h>
#import "MyClass.h"

@interface Kalkulator_baru : Kalkulator
+(int)tambah1: (int)x;
@end

@implementation Kalkulator_baru
+(int)tambah1: (int)x{
return x+1;
}
@end

int main (int argc, const char * argv[])
{

NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];

int a = 1;
int b = 2;
int c;
int d;

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

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

c = [Kalkulator_baru tambah1:a];
NSLog(@"Hasil tambahkan satu: %d + 1 = %d n",a,c);

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

[pool drain];
return 0;
}
[/sourcecode]

Dalam program di atas, kita tidak lagi menggunakan Class: Kalkulator, seperti pada tutorial sebelumnya. Dalam kode program tersebut kita menggunakan Class “Kalkulator_baru”, yang merupakan sub-class dari Class “Kalkulator”. Dengan demikian, dengan hanya menggunakan class “Kalkulator_baru”, kita dapat:

  • mengakses semua method dalam Class “Kalkulator”, dan
  • menambahkan method baru (tambah1)

Perhatikan bahwa Objective-C tidak mendukung Overloading, sehingga penggunaan dua method dengan nama yg sama tidak diperbolehkan. Dengan demikian kita tidak bisa membuat method baru dalam sub-class dengan nama yg sudah ada dalam class utama.

Leave a Reply

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