4 objek
TRANSCRIPT
Objek
Sufian IdrisJabatan Sains
Komputer
Objek adalah konsep terpenting dalam orientasi objek.
Apabila suatu aturcara OO dilaksanakan, suatu ruang akan diwujudkan untuk menempatkan objek-objek yang dicipta oleh aturcara sepanjang perlaksanaannya.
Dalam ruang tersebut, objek-objek berinteraksi sesama mereka. Perlakuan aturcara adalah kesan yang diperolehi daripada aktiviti yang berlaku dalam ruang ini.
$$$$Kad
A
TM
kuK
ad
AT
Mku
RuangObjek
Takrifan Objek Objek adalah suatu benda yang
mempunyai keadaan, perlakuan dan identiti. Beberapa contoh:
Mesin ATM di FK, UKMKereta Dekan FTSMProjektor LCD di dewan kuliah FTSM
Objek Ada Keadaan Setiap objek memiliki atribut (attribute)
yang secara kolektif mewakilkan keadaan (state) objek itu.
Sebelum dicat Objek yang sama selepas dicat
Dalam bahasa Java, atribut objek diimplementasikan sebagai suatu pembolehubah yang dimiliki oleh objek.
Contoh:
Kereta
“WHH7801”
hijau
“Sufian Idris”
warna
nbrPlet
pemilik
Kereta
“WHY9531”
biru
“Ali Bakar”
warna
nbrPlet
pemilik
Suatu objek Kereta Suatu objek Kereta lain
Atribut-atribut yang dipunyai oleh objek lazimnya tidak berubah.
Atribut lazimnya boleh berubah nilainya. Namun, terdapat juga atribut yang nilainya tetap.
PetiSejuk
“342-0967”
“Ali Bakar”
biru
pemilik
nbrSiri
warna
boleh berubah
tetap
Objek boleh mempunyai hubungan pautan (link) dengan objek lain.
Komputer
Pemproses
Ingatan
pautan
Dalam Java, pautan objek diimplementasikan sebagai atribut yang nilainya suatu rujukan objek.
Komputer
tarikhBeli
pemproses
ingatan
20022002
Ingatan
saiz 256
Pemproses
kelajuan 900
rujukan objek
Objek Ada Perlakuan
Penghantaran mesej merupakan mekanisma yang digunakan untuk berinteraksi dengan objek.
Suatu objek boleh diminta melakukan suatu tugas dengan cara menghantar mesej tertentu kepadanya.
lompat
Untuk mendapatkan tindakbalas (response), objek seharusnya dihantar mesej yang difahami olehnya.
terbang??
Perlakuan (behaviour) objek merujuk kepada bagaimana objek bertindakbalas terhadap mesej-mesej yang diterima daripada klien.
DokumenTetingkapsimpan
Segiempat
5
warna
lebar
tinggi 10
hijau
Tindakbalas objek terhadap suatu mesej boleh menyebabkan keadaan objek itu berubah.
zoom_2x
10
20
Objek boleh juga menghantar mesej kepada objek lain dalam tindakbalasnya.
tukar saluran (5)buka saluran komunikasitukar saluran (5)tutup saluran komunikasi
Objek Ada Identiti
Setiap objek mempunyai suatu identiti yang membezakannya daripada objek lain.
Kembar tiga… tetapi masing-masing ada identitinya
Dalam orientasi objek, identiti objek adalah semulajadi. Objek tidak perlu ada atribut untuk mewakilkan identitinya.
class Komputer {private int idKomputer;private Date tarikhBeli;private Pemproses pemproses;
…}
Redundan
Hubungan Diantara Keadaan Dengan Perlakuan Objek Perlakuan objek boleh mempengaruhi
keadaannya.
Contohnya, pengeluaran wang daripada mesin ATM menyebabkan wang dalam mesin itu berkurangan.
Keadaan objek boleh mempengaruhi perlakuannya
bilangan tin:
200
Pengabstrakan (Abstraction) Katakan kita ingin menakrifkan suatu
objek yang mewakilkan seekor kucing. Apakah atribut dan perlakuan objek kucing?
Atribut Perlakuan
beratpanjangsaiz jantung
kunyahminumjalan
… …
…tidak terhingga banyaknya!
Manusia dikurniakan kemahiran mengabstrak fitur objek yang penting sahaja.
Pengaturcara hanya perlu menakrifkan atribut dan perlakuan yang diperlukan dalam menyelesaikan masalah.
Pengkapsulan (Encapsulation)
Objek tidak seharusnya mendedahkan "rahsia"nya.
Contoh: tukang masak restoran lazimnya tidak mendedahkan cara ia menyediakan suatu masakan.
Objek lazimnya menyembunyikan (mengkapsulkan [encapsulate]) maklumat berikut:
bagaimana objek bertindakbalas terhadap mesej
atribut objek
40
luas()
atribut:lebartinggi…
perlakuan:
luas()
return lebar * tinggi;
Antara manfaat pengkapsulan:
objek boleh mengawal capaian keatas atributnya.
klien tidak perlu hirau mengenai sebarang pengubahsuaian terhadap pengimplementasian.
Antara Muka
Untuk mendapatkan maklumat mengenai mesej-mesej yang difahami oleh suatu objek, kita boleh rujuk antara muka objek itu.
Setiap objek tahu memberi tindakbalas terhadap mesej tertentu sahaja.
Antara muka objek mendedahkan unsur-unsur yang tidak dikapsulkan oleh objek.
Satu daripada unsur tersebut adalah senarai mesej yang boleh dihantar kepada objek. Perlu ingat bahawa hanya format mesej yang didedahkan dan bukannya perincian mengenai cara objek bertindakbalas terhadap mesej.
ANTARA MUKAluas()ukurlilit()setLebar(int lebar)setTinggi(int tinggi)??
yesss!
Di mana untuk dapatkan antara muka objek?
objekSegiempat
Mesej Dan Metod
Penghantaran mesej adalah mekanisma yang digunakan oleh objek untuk berkomunikasi dengan objek lain.
lompat
Objek yang menerima mesej digelar objek penerima (receiver object). Objek yang menghantar mesej pula digelar klien.
Setiap mesej terdiri daripada namanya (wajib ada) dan parameter (jika ada).
tukar saluran (5) buka saluran komunikasitukar saluran (5)tutup saluran komunikasi
KlienObjekPenerima
Metod (method) adalah unsur objek yang mengandungi perincian mengenai bagaimana objek bertindakbalas terhadap suatu mesej.
40
luas()
atribut:lebartinggi…
perlakuan:
luas()
return lebar * tinggi;
Mesej luas()
Metod luas()
Kerjasama Objek
Objek yang bersendirian tidak ada gunanya dalam perisian berorientasikan objek.
“No object is an island”
Komunikasi antara objek sangat penting dalam perisian OO kerana perlakuan sistem adalah hasil daripada kerjasama objek-objek dalam perisian itu.