Membuat class di file PRG
Setelah kita mengetahui OOP di dalam Visual foxpro secara umum. Selanjutnya adalah kita mencoba mempraktekan pembuatan Class. Perumpamaan Class itu seperti Cetakan Kue yang bisa digunakan untuk membuat Kue apa saja. Sintax untuk membuat class adalah :
DEFINE CLASS <<namakelas>> AS <<Kelas Induk/CUSTOM>> OF <<file asal.prg>>
<<property>>
PROCEDURE <<method>>
ENDPROC
ENDDEFINE
- Nama kelas kita definisikan dengan Kelas+Nama : misalkan KelasSatker,KelasPejabat dll
- AS Kelas Induk/Custom. Kelas induk adalah kelas bapak yang akan kita warisi sifat-sifatnya, atau Custom adalah kelas umum yang kita pilih.
- OF file asal.prg : jika Kelas Induknya itu berada di file PRG yang lain
- Property : adalah variabel-variabel yang akan kita isi nilainya
- Procedure: adalah method yang kita panggil untuk melakukan fungsi tertentu.
Contoh : saya mempunyai tabel bernama t_satker. di dalamnya ada beberapa kolom yaitu : nama satker(nmsatker), kode departemen (kddept), kode unit (kdunit), kode KPPN (kdkppn). kemudian kita buat class :
- Nama Class : KelasSatker
- Type Class : Custom
- Property : nmsatker,kddept,kdunit,kdkppn
- Method : p_carisatker(ckd) : digunakan untuk mencari satker dengan memasukkan paramter kode satker
DEFINE CLASS KelasSatker AS Custom
nmsatker=''
kddept=''
kdunit=’’
kdkppn=''
PROCEDURE p_carisatker(ckd)
TEXT TO psql NOSHOW
SELECT
* FROM t_satker WHERE kdsatker='<<ckd>>'
ENDTEXT
SQLEXEC(con,psql,'t_satker')
this.nmsatker=t_satker.nmsatker
this.kddept=t_satker.kddept
this.kdunit=t_satker.kdunit
this.kdkppn=t_satker.kdkppn
ENDPROC
ENDDEFINE
Simpan class diatas dengan nama referensi.prg
Pemanggilan property dan method menggunakan
perintah THIS. (this titik).Seperti contoh diatas, untuk mengisikan nilai pada property-property nmsatker,kddept dll menggunakan this.nmsatker,this.kddept dst...
Untuk parameter seperti : ckd, tidak digunakan awalan THIS, sebab dia bukan anggota dari class, hanya sekedar parameter.
Dengan pembuatan procedure/method p_carisatker() maka kita akan mendapatkan 4 RETURN sekaligus, bandingkan dengan metode procedural yang hanya mampu menghasilkan 1 RETURN saja. Contoh pembuatan procedure menggunakan function biasa :
Untuk parameter seperti : ckd, tidak digunakan awalan THIS, sebab dia bukan anggota dari class, hanya sekedar parameter.
Dengan pembuatan procedure/method p_carisatker() maka kita akan mendapatkan 4 RETURN sekaligus, bandingkan dengan metode procedural yang hanya mampu menghasilkan 1 RETURN saja. Contoh pembuatan procedure menggunakan function biasa :
Setelah file class telah dibuat, tahap selanjutnya adalah pembuatan obyek class atau Kue-nya dari cetakan kue, kita bahas di tulisan berikutnya ya...

Penjelasannya Sangat Mudah di Pahami...
BalasHapusbs dikasih penjelasan lagi, dengan objek customer dan kendaraan
tks
DEFINE CLASS KelasCustomer AS Custom
HapusNocust =''
Namacust=''
Lahir ={}
Alamat =''
Telpon=''
PROCEDURE p_caricustomer(cnocust)
SELECT * FROM t_customer WHERE nocust=cnocust INTO CURSOR CURSOR chasilcari
this.nocust=chasil.nocust
this.namacust=chasil.namacust
this.lahir=chasil.lahir
this.alamat=chasil.alamat
this.telpon=chasil.telpon
* baris pengisian property diatas bisa diganti dengan 1 perintah ini
SCATTER NAME this ADDITIVE
*cursor direlease
USE IN chasilcari
ENDPROC
ENDDEFINE
DEFINE CLASS KelasMobil AS Custom
nomobil=''
namamobil=''
merk=''
jenis=''
tahunpembuatan=''
PROCEDURE p_carimobil(cno)
SELECT * FROM t_mobil WHERE nomobil=cno INTO CURSOR chasilcari
SELECT chasilcari
SCATTER NAME this ADDITIVE
*cursor direlease
USE IN chasilcari
ENDPROC
ENDDEFINE
Komentar ini telah dihapus oleh pengarang.
BalasHapusGan.. bs minta contoh program sederhana, dengan Foxpro dan MySQL dengan konsep Customer dan Kendaraan..
BalasHapusTks B4
emailnya apa ntar saya kirim contohnya
Hapus