Minggu, 13 Februari 2011

Class and Object

Class dan object adalah dasar dari paradigma pemrograman berorientasi obyek. Class adalah representasi sebuah tipe data abstrak (Abstract Data Type) yang di dalamnya terdapat struktur data dan operasi (fungsi) yang berkaitan dengan struktur data tersebut. Struktur data di dalam class tersebut biasa juga disebut dengan istilah atribut atau data member. Sedangkan operasinya disebut juga dengan istilah method atau member function. Class dibuat sesuai dengan kondisi nyata artinya bahwa atribut dan operasi di dalam sebuah class adalah memiliki hubungan yang sangat kuat dengan nama class-nya. Misalkan dibuat sebuah class bernama Mobil maka class tersebut setidaknya akan mempunyai atribut berupa jenis mobil, merk, isi bensin, kecepatan, dan tahun pembuatan. Sedangkan operasinya misalkan adalah berjalan, berhenti, tancap gas, injak rem, dan nyalakan lampu.

Object sendiri merupakan instansiasi sebuah class. Class adalah template sedangkan Object adalah realisasi dari template tersebut, sehingga ketika program dijalankan maka yang bertindak sebagai pelaku utamanya adalah object, bukan class. Bisa dianalogikan pada konsep procedural programming dengan class sebagai tipe data, sedangkan object adalah variabelnya (int angka;). Sebuah class bisa memilki lebih dari satu object dengan syarat masing-masing object berbeda namanya. Misalnya class mobil memiliki object Sedan, Pick_up, Truk, dan Bus (Mobil Sedan, Pick_up, Truk, Bus;).

Di dalam OOP disediakan fasilitas data hiding (penyembunyian data). Fasilitas ini di-implementasikan dengan pemakaian visibility modifier di dalam sebuah class. Ada dua jenis visibility modifier dasar yaitu private dan public. Private artinya bagian class ini hanya bisa diakses oleh fungsi class yang bersangkutan, sedangkan Public berarti bagian class ini bisa diakses oleh fungsinya sendiri maupun oleh fungsi lain di luar class yang bersangkutan (misalnya dari class lain, atau dari fungsi utama - main). Umumnya bagian data member bersifat private sedangkan bagian member function bersifat public.

Menspesifikasikan class :

class nama_class

{

Private:

deklarasi_variabel;

deklarasi_fungsi;

Public:

deklarasi_variabel;

deklarasi_fungsi;

}

Tipe-tipe member dalam setiap bahasa Pemrograman Visual adalah :

1. Fields

Merupakan konstanta atau variabel yang mengizinkan akses tipe data. Fields dapat didefinisikan oleh class, structure, dan enumeration. Fields digunakan sebagai data yang bersifat read-only, atau sering didefinisikan sebagai konstanta. Fields juga dapat berupa variabel read-only yang nilainya didefinisikan kali pertama pada class constructor dan tidak dapat diubah lagi.

2. Properties

Property dapat didefinisikan untuk class, structure, dan interface. Umumnya property dapat dibaca (readable) dan ditulis (writable), walaupun dapat juga diperlakukan read-only atau write-only.

3. Methods

Merupakan function atau subroutin yang tersedia pada sebuah class, structure, interface, atau delegate. Pada sebuah method terdapat parameter atau argumen yang dapat dikirimkan by value atau by reference. Bagi programer Visual Basic 6.0 sudah tentu tidak asing lagi dengan parameter by value maupun by reference yang biasa digunakan dalam pembuatan function/procedure. By value berarti perubahan nilai pada variabel parameter yang dikirimkan hanya akan berlaku di dalam function, sementara by reference berarti perubahan nilai pada variabel di dalam function akan tetap berlaku pada saat function tersebut selesai dieksekusi dan kembali pada pemanggil. Dengan menggunakan keyword ByVal atau ByRef, Anda dapat menentukan bagaimana parameter dikirimkan.

4. Events

Pada Visual Basic versi sebelumnya, Anda tentu telah mengenal event yang menimbulkan istilah event-driven programming. Event merupakan sebuah function yang dipanggil untuk merespon kejadian/event tertentu, seperti klik mouse, penekanan tombol keyboard, perubahan nilai field pada database, dan lain-lain. Umumnya event mengirimkan dua parameter, yaitu object yang mengindikasikan sender/pengirim event, dan object yang menyediakan informasi pada event tersebut.

Pada sebuah class, Anda dapat melakukan modifikasi pada method dengan cara overriding maupun overloading. Overriding berarti Anda mengubah implementasi dari sebuah method, sementara overloading berarti menambahkan method baru dengan nama yang sama, tetapi dengan pengenal yang berbeda. Overloading mengizinkan Anda memiliki dua atau lebih method dengan nama yang sama. Dua method tersebut akan muncul pada fasilitas IntelliSense sehingga pengguna dapat memilih method yang diinginkan. Bagaimanapun, salah memilih method dapat menyebabkan runtime- error, Anda dapat menghilangkan method yang tidak diinginkan untuk tampil dengan menggunakan keyword Shadows.

Tidak ada komentar:

Posting Komentar