Inheritance


A.      Pengertian OOP ( Object Oriented Programming )

OOP adalah merupukan suatu paradigma pemograman  yang mempunyai tujuan untuk mempermudah pengembangan program dengan cara mengikuti model yang ada di kehidupan kita.

Setiap topik di pecah menjadi bagian per bagian

Implementasi OOP Pada Bahasa Pemograman dapat disusun berdarkan:

1.       Class and Object
2.       Enkasulapsi
3.       Pewarisan
4.       Polimorfisme

1. Kelas Abstrak (Class Abstraksi)
    • Kelas adalah merupakan deskripsi abstrak informasi dan tingkah laku dari sekumpulan data.
    • Kelas dapat diilustrasikan sebagai suatu cetak biru(blueprint) atau prototipe yang digunakan untuk menghasilkan objek tersebut.
    • Kelas merupakan tipe data bagi objek yang memanipulasi data dan operasi dalam data untuk suatu unit tunggal.
    • Kelas diartikan suatu struktur yang terdiri atas data kelas (data field), prosedur atau fungsi (method), dan sifat kelas (property).
2. Enkapsulasi (encapsulation)
    • Istilah enkapsulasi adalah gabungan  data dan fungsionalitas dalam sebuah unit tunggal sebagai bentuk untuk menyimpan detail informasi.
    • Proses enkapsulasi dapat memudahkan kita untuk menggunakan objek dari suatu kelas karena kita tidak perlu mengetahui segala hal secara detail.
    • Enkapsulasi menekankan pada antarmuka suatu kelas, atau dengan kata lain bagaimana menggunakan objek kelas tertentu.
    • Contoh: kelas motor mengadakan antarmuka fungsi untuk menjalankan motor tersebut, tanpa kita perlu tahu komposisi bahan bakar, udara dan kalor yang diperlukan untuk melakukan proses tersebut.
3. Pewarisan (Inheritance)
    • Kita dapat mendefinisikan suatu kelas baru dengan mewarisi sifat dari kelas lain yang sudah ada.
    • Penurunan sifat ini bisa dilakukan secara bertingkat, sehingga semakin ke bawah kelas tersebut menjadi semakin spesifik.
    • Sub kelas memungkinkan kita untuk melakukan spesifikasi detail dan perilaku khusus dari kelas supernya.
    • Dengan memiliki konsep pewarisan, seorang programmer bisa menggunakan kode yang telah ditulisnya pada kelas berulang kali pada kelas-kelas turunannya tanpa harus menulis ulang semua kode itu.
4. Polimorfisme (polymorphism)
    • Polimorfisme adalah kemampuan objek yang beda kelas namun terkait dalam pewarisan untuk merespon secara berbeda terhadap suatu pesan yang sama.
    • Polimorfisme merupakan kemampuan sebuah objek untuk putuskan method mana yang akan diterapkan, tergantung dimana letaknya objek tersebut pada jenjang pewarisan.
    • Method overriding.
    • Method name overloading.
C. Karakteristik OOP (Object Oriented Programming) 
  • Semua yang terdapat dalam OOP adalah objek.
  • Komputasi dilakukan dengan komunikasi antar objek. Setiap objek dapat berkomunikasi dengan objek yang lain melalui pengiriman dan penerimaan pesan.
  • Sebuah pesan yang merupakan permintaan atas beberapa aksi dengan suatu argumen yang diperlukan untuk menyelesaikan suatu tugas tertentu.
  • Setiap objek mempunyai memori sendiri, yang terdiri dari beberapa objek-objek lainnya.
  • Setiap objek memiliki wakil atau representasi dari suatu kelas. Sebuah kelas dapat mewakili sekelompok objek yang sama.
  • Kelas adalah  tingkah laku yang kaitannya dengan suatu objek. Jadi, objek yang merupakan bagian dari objek yang sama dapat melakukan aksi yang sama tersebut.
  • Kelas-kelas diorganisasikan ke dalam sebuah struktur yang dinamakan dengan jenjang pewarisan (inheritance hierarchy).
  • Setiap objek pada umumnya memiliki tiga sifat, yakni keadaan, operasi dan identitas objek.Operasi merupakan tindakan yang biasa dilakukan oleh objek tersebut
  • Keadaan objek merupakan koleksi dari seluruh informasi yang dimiliki oleh objek pada suatu saat.
  • Informasi yang terkandung dalam objek tersebut pada akhirnya memberikan identitas khusus yang membedakan suatu objek tersebut dengan objek yang lainnya.
  • Contoh Program
  • class Kendaraan{
    int posisi1;
    int kecepatan;
    int posisi2;
    int pergerakan;
    int getPosisi1(){
    return posisi1;
    }
    void setPosisi1(int theposisi1){
    posisi1 = theposisi1;
    }
    int getKecepatan(){
    return kecepatan;
    }
    void setKecepatan(int thekecepatan){
    kecepatan = thekecepatan;
    }
    posisi2 bergerak(){
    int jaraktempuh;
    int waktutempuh;
    posisi2 = getKecepatan * waktu;
    }
    }
    class Motorextends Kendaraan{
    }
    class KendaraanTestDrive{
    Motor Beat = new Motor;
    Beat.setPosisi1(30);
    Beat.setKecepatan(60);
    Beat.bergerak();
    }

Komentar