E. Haodudin Nurkifli Universitas Ahmad Dahlan Pertemuan : Object & Class E. Haodudin Nurkifli Universitas Ahmad Dahlan Pertemuan :
Review Class - Name attribute-name-1 : data-type-1 = default-value-1 operation-name-1 ( argument-list-1) : result-type-1 operation-name-2 ( argument-list-2) : result-type-2 responsibilities
Penamaan Umumnya , nama kelas adalah kata atau frasa benda sederhana yang diambil dari vocabulary sistem yang dimodelkan Umumnya nama kelas ditulis dengan huruf kapital di setiap huruf awal kata Contoh: Customer TemperatureSensor.
Atribut Attribute (atribut) menunjukkan beberapa properti dari suatu hal yang dimodelkan untuk dibagi dengan semua objek pada kelas tersebut Sebuah kelas dapat memiliki berapa pun jumlah atribut Umumnya, nama atribut adalah kata atau frasa benda sederhana yang menunjukkan beberapa properti untuk menggambarkan kelas. Umumnya nama kelas ditulis dengan huruf kapital di setiap huruf awal kata (kecuali kata pertama) Contoh: loadBearing.
Penentuan Atribut Atribut ditentukan berdasarkan: Karakteristik alamiah yang dimiliki objek Pengetahuan yang harus diketahui hanya oleh objek tersebut Harus hati-hati: Menentukan apakah atribut atau kelas Menentukan apakah atribut milik kelas atau atribut asosiasi
Menentukan Atribut Deskripsi atribut: Property atribut: Informasi yang dibutuhkan saat instansiasi Representasi dari state Informasi yang didapat dari asosiasi Informasi tambahan yang dibutuhkan saat implementasi Semua informasi yang perlu dipelihara oleh objek Property atribut: Changeable bisa dimodifikasi dengan bebas AddOnly untuk atribut dengan multiplicity >1, nilai bisa ditambahn, tetapi nilai yang ada tidak dapat diubah atau dihapus Frozen nilai atribut tidak bisa diubah sejak objek diinisialisasi
Contoh
Method Menggambarkan implementasi operasi Tujuan Mendefinisikan aspek spesial dari implementasi operasi Yang harus diperhatikan: Algoritma khusus Objek atau operasi lain yang digunakan Bagaimana atribut dan parameter diimplemntasikan dan digunakan Bagaimana relasi diimplementasikan dan digunakan
Operasi Semua operasi dan atribut harus mendukung minimal sebuah use case Membuat sebuah operasi untuk setiap responsibility gunakan deskripsi responsibility sebagai deskripsi awal Dari realisasi use case Kebutuhan khusus pada realisasi use case Lain-lain: Inisialisasi objek Test apakah dua objek ekivalen atau tidak Membuat copy dari objek Dibutuhkan untuk sebuah mekanisme khusus contoh: garbage collection
Operasi operation (operasi) merupakan implementasi dari layanan yang dapat diminta dari objek pada kelas tersebut Dengan kata lain, operasi adalah abstrak dari sesuatu yang dapat kita lakukan terhadap objek dan dimiliki oleh semua objek kelas tersebut
Contoh
Visibility Definisi Visibility merupakan kemampuan suatu obyek untuk melihat atau berhubungan dengan obyek lain.
Visibility Between Objects Untuk mengirim pesan dari satu obyek ke obyek lain, obyek penerima harus visible terhadap pengirim. Jadi, pengirim harus memiliki pointer ke penerima. Contoh: B visible terhadap A, berarti A dapat mengirim pesan pada B.
Visibility Between Objects
Jenis Visibility Bagaimana visibility dapat terbangun dari obyek A ke obyek B: Attribute visibility - B merupakan atribut dari A Parameter visibility - B adalah parameter dari method di A Local visibility - B adalah local object dari method di A Global visibility - B visible secara global
Attribute Visibility Attribute visibility dari A ke B terjadi jika B adalah atribut dari A Relatif permanen, karena visibility terjadi selama obyek A dan B ada Contoh: public class Register {… private ProductCatalog Catalog; … }
Attribute Visibility
Local Visibility Local visibility dari A ke B terjadi jika B dideklarasikan sebagai local object dalam method di A. Bersifat temporary karena hanya ada dalam lingkup method.
Local Visibility Create local instance baru dan assign sebagai local variable. Assign returning object dari suatu method menjadi local variable.
Local Variable Visibility Apakah objek penerima adalah sebuah temporary object yang dibuat pada operasi? Jika ya, definisikan dependensi antara objek pengirim dan penerima Pada diagram kolaborasi, kualifikasikan sebagai local
Parameter Visibility Parameter visibility dari A ke B terjadi jika B merupakan parameter dari method di A. Bersifat temporary karena hanya ada dalam lingkup method
Parameter Visibility
Parameter to attribute Visibility Transformasi parameter visibility menjadi attribute visibility.
Parameter Visibility Apakah pengacuan terhadap objek penerima diimplementasikan sebagai operasi? Jika ya, definisikan dependensi antara objek pengirim dan penerima Jika memakai diagram kolaborasi, kualifikasikan sebagai parameter
Global Visibility Global visibility dari A ke B terjadi jika B global terhadap A. Bersifat permanen karena visibility terjadi selama obyek A dan B ada. Cara global visibility: Assign suatu instance menjadi global variable. Menggunakan Singleton pattern
Global Visibility Instans visible karena didefinisikan global Jika ya, definisikan dependensi antara objek pengirim dan penerima Jika memakai diagram kolaborasi, kualifikasikan sebagai global