Subtipe polimorfisme
Model analisa adalah abstraksi yang ringkas dan tepat dari apa
yang harus dilakukan oleh sistem, dan bagaimana melakukannya.
Objek dalam model harus merupakan konsep domain dari aplikasi,
bukan merupakan implementasi komputer seperti struktur data.
Objek adalah kombinasi antara struktur data dan perilaku dalam satu
entitas dan mempunyai nilai tertentu yang membedakan entitas tersebut.
Memiliki Identity (identitas)
Memiliki klasifikasi
Memiliki state (kondisi / keadaan)
State sebuah objek dinyatakan dalam attribute / properties
Memiliki behavior (perilaku / method)
2. Data dan Proses, pada metodologi non objek, data dan proses
dianggap sebagai dua komponen yang berlainan, sedangkan pada
metodologi berorientasi objek, data dan proses merupakan satu
kesatuan, yaitu bagian dari objek.
Model Objek
Model objek menggambarkan struktur statis dari suatu objek dalam
sistem dan relasinya.
Model Dinamik
Model dinamik menggambarkan aspek dari sistem yang berubah
setiap saat.
Model Fungisional
Model fungisional menggambarkan transformasi nilai data di dalam
sistem.
Model fungisional berisi data flow diagram. DFD adalah suatu graph
dimana nodenya menyatakan proses dan arcnya adalah aliran data.
1. Abstraksi, berarti fokus pada aspek yang melekat dari entitas dan
mengabaikan sifat yang sementara. Dalam mengembangkan
sistem, fokus pada apakah suatu objek dan apa yang dikerjakan
oleh objek tersebut, sebelum menentukan implementasinya.
Penggunaan abstraksi yang sesuai memungkinkan model yang
sama digunakan untuk analisa perancangan tingkat tinggi, struktur
program, struktur basis data dan dokumentasi. Menggunakan
abstraksi dalam analisa berarti hanya melakukan konsep domain
aplikasi, tidak menentukan desain dan implementasi sebelumm
masalah dipahami.
2. Pengakapsulan (information hiding), terdiri dari pemisahan
aspek eksternal dari suatu objek, dimana dapat diakses oleh objek
lain. Pengkapsulan melindungi program dari saling keterkaitan
sehingga kesempatan kecil mempunyai akibat penyimpangan.
Information hiding.
Interface to access data.
Information hiding
Sebelumnya kita dapat mengakses anggota class baik berupa atribut
maupun method secara langsung dengan menggunakan objek yang telah
kita buat. Hal ini dikarenakan akses kontrol yang diberikan kepada atribut
maupun method yang ada di dalam class tersebut adalah 'public'. Kita
dapat menyembunyikan informasi dari suatu class sehingga anggota class
tersebut tidak dapat diakses dari luar, caranya adalah hanya dengan
memberikan akses kontrol 'private' ketika mendeklarasikan atribut atau
method. Proses ini disebut dengan information hiding.
Interface to access data Jika kita telah melakukan information hiding
terhadap suatu atribut pada suatu class, lalu bagaimana cara melakukan
perubahan terhadap atribut yang kita sembunyikan tersebut, caranya
adalah dengan membuat suatu interface berupa method untuk
menginisialisasi atau merubah nilai dari suatu atribut tersebut.
Pengertian Inheritance(Pewarisan)
Konsep inheritance ini mengadopsi dunia riil dimana suatu entitas/obyek
dapat mempunyai entitas/obyek turunan. Dengan konsep inheritance,
sebuah class dapat mempunyai class turunan.
Suatu class yang mempunyai class turunan dinamakan parent class atau
base class. Sedangkan class turunan itu sendiri seringkali disebut
subclass atau child class. Suatu subclass dapat mewarisi apa-apa yang
dipunyai oleh parent class.
Karena suatu subclass dapat mewarisi apa apa yang dipunyai oleh parent
class-nya, maka member dari suatu subclass adalah terdiri dari apa-apa
yang ia punyai dan juga apa-apa yang ia warisi dari class parent-nya.
Dari hirarki diatas dapat dilihat bahwa, semakin kebawah, class akan
semakin bersifat spesifik. Class mamalia memiliki seluruh sifat yang
dimiliki oleh binatang, demikian halnya juga macan , kucing, Paus dan
Monyet memiliki seluruh sifat yang diturunkan dari class mamalia.
Dengan konsep ini, karakteristik yang dimiliki oleh class binatang cukup
didefinisikan didefinisikan dalam class binatang saja.
Class mamalia tidak perlu mendefinisikan ulang apa yang telah dimiliki
oleh class binatang, karena sebagai class turunannya, ia akan
mendapatkan karakteristik dari class binatang secara otomatis. Demikian
juga dengan class macan, kucing, Paus dan monyet, hanya perlu
mendefinisikan karakteristik yang spesifik dimiliki oleh class-nya masing-
masing.