• Object oriented programming memiliki 3 konsep dasar :

    1. Abstract data type (ADT)
    2. Inheritance
    3. Dynamic binding

    Object oriented programming language juga mendukung paradigm menggunakan class, methods, object dan message passing.

     

    1. Inheritance

    Inheritance adalah pewarisan sifat dari superclass ke subclass, yang mewarisi attribute dan method yang masih sejenis beserta attribute dan method tambahan yang merupakan sifat khusus subclass.

    Sebagai contoh class sapi adalah hewan bertulang belakang / vertebrata yang merupakan mamalia pemakan tumbuhan / herbivora.

     

    1. Object Oriented Concepts

    Object oriented concepts memiliki cirri-ciri:

    -ADT biasa nya di sebut class

    -Isi dari class biasa nya disebut objek

    -Class yang menurunkan ke subclass

    -Subprogram yang melakukan definisi operasi pada objek disebut dengan method

    -Pemanggilan terhadap method di sebut messages

    -Kumpulan dari method pada sebuah objek disebut dengan message protocol atau message interface

    -Messages memiliki 2 bagian :

    oMethod name

    oDestination object

    -Dalam kasus simple, class mewarisi semua entities dari parent nya

    -Inheritance dapat di komplikasikan dengan akses control terhadap enkapsulasi entities

    o  Class dapat menyembunyikan entities dari subclass nya

    o  Class dapat menyembunyikan entities dari client nya

    o Class dapat menyembunyikan entities dari client nya tetapi memperbolehkan subclass mengakses nya

    -Sebuah class dapat memodifikasi method dari class turunan nya

    o Method yang baru melakukan override terhadap method yang lama

    o Method pada parent di overridden

    -3 cara membedakan dari class parent nya:

    1. Class parent dapat mendefinisikan beberapa variable atau method nya untuk memiliki private akses, yang berarti mereka tidak akan terlihat oleh kelas turunan nya.
    2. Subclass dapat menambahkan variable atau method untuk yang di wariskan dari parent.
    3. Subclass dapat memodifikasi sikap dari satu atau banyak method yang diwariskan.

    – Terdapat 2 jenis variable pada sebuah class :

    1. Class variable – satu / class
    2. Instance variable – satu / objek

    – Terdapat 2 jenis method pada sebuah class :

    1. Class method – menerima pesan kepada class.
    2. Instance method – menerima pesan kepada objek.

    – Single vs multiple inheritance

    -Kekurangan dari inheritance pada penggunaan ulang :

    o Membuat ketergantungan antar class yang membuat sulit di maintenance

     

    1. Dynamic Binding

    -Polymorphic variable dapat di definisikan pada kelas yang dapat melakukan referensi objek kelas dan objek dari turunan nya

    -Ketika hierarki kelas mengandung kelas yang override method biasa disebut dengan polymorphic variable, binding ke method akan dynamic

    -Mengizinkan system software lebih mudah di perpanjang ketika dikembangkan dan maintenance

    -Abstrak method adalah salah satu yang tidak dimiliki pada definisi (hanya mendefinisikan protocol)

    -Abstrak kelas memiliki setidak nya satu virtual method

    -Abstrak kelas tidak dapat di instansikan

     

    1. Exclusivity dari Object

    -Semua adalah objek

    o   Keuntungan : elegant dan purity

    o   Kekurangan : lambat pada operasi objek yang simple

    -Menambah objek untuk menyempurnakan typing system

    o   Kelebihan : cepat operasi simple objek

    o   Kekurangan : hasil membingungkan type system (2 tipe entities)

    -Memasukkan gaya imperative typing sistem untuk primitive tetapi membuat semua nya menjadi objek

    o   Kelebihan : cepat operasi pada simple objek, secara relative system typing kecil

    o   Kekurangan : masih membingungkan memiliki 2 type system

     

    Jika kelas turunan adalah kelas parent. Maka objek pada kelas turunan harus bersifat sama dengan objek pada kelas parent

    Subclass dapat menambah variable dan method dan override method turunan dengan cara compatible

     

    1. Single dan Multiple Inheritance

    -Multiple inheritance mengizinkan kelas baru untuk di warisi dari 2 atau lebih kelas

    -Kekurangan multiple inheritance :

    o   Bahasa dan implementasi yang kompleks

    o   Potensial tidak efisien – dynamic binding memiliki biaya lebih disbanding dengan multiple inheritance

    -Kelebihan :

    o   Terkadang berharga dan berguna

     

    1. Alokasi dan Dealokasi Object

    -Jika bersifat ADT, maka dapat di alokasikan dari semua tempat

    o   Alokasi dari run-time stack

    o   Secara explicit membuat pada heap

    -Jika heap-dynamic referensi dapat melalui pointer atau referensi variable

    o   Memudahkan assignment – melakukan referensi ulang secara implicit

    -Jika objek stack dynamic, akan memiliki masalah pada subtype – object slicing

     

    1. Nested Class

    Jika kelas baru dibutuhkan oleh satu kelas, maka tidak ada alasan untuk mendefinisikan agar dapat terlihat oleh kelas lain nya

     

    1. OOP pada C++

    -Berevolusi dari C dan SIMULA 67

    -OOP yang paling sering digunakan

    -Memiliki mixed typing system

    -Constructor dan destructor

    -Elaborate akses control kepada kelas entities

    1. Inheritance

    -Kelas tidak perlu menjadi subclass dari kelas lain

    -Akses control terhadap

    o   Private (hanya terlihat oleh kelas sendiri dan friend kelas itu, tidak mengizinkan subclass menjadi subtype)

    o   Public (terlihat oleh subclass dan semua nya)

    o   Protected (terlihat pada kelas dan subclass, tetapi tidak pada client nya)

    1. Dynamic Binding

    Method dapat didefinisikan dengan virtual, yang berarti dapat dipanggil melalui polymorphic variable dan secara dynamic terikat pada message

    Posted by lorenzodor @ 4:44 pm

  • Leave a Reply

    Your email address will not be published. Required fields are marked *

 
WP_Modern_Notepad

Recent Comments

 
WP_Modern_Notepad

Recent Comments

Rekomendasi situs toto 98 toto

buku mimpi 3d terlengkap Teruapdate Terlengkap Paling Rekomended