Uncategorized

Tutorial Pemrograman Berorientasi Obyek dengan C++ : Inheritance (Pewarisan)

Pada dasarnya pewarisan adalah peristiwa di mana sifat suatu kelas diturunkan kepada kelas yang lain. Pewarisan memungkinkan programmer menciptakan kelas yang mirip satu sama lain tanpa harus menulis ulang bagian yang sama setiap waktu. Pewarisan juga memungkinkan kita untuk menggabungkan beberapa bagian dari sejumlah kelas ke dalam kelas baru.

Dalam bahasa C++, pewarisan merupakan peristiwa di suatu kelas mewarisi data dan fungsi anggota dari kelas yang lain. Kelas yang mewarisi, diistilahkan dengan kelas anak atau kelas turunan, sedangkan kelas yang mewariskan, diistilahkan dengan induk. Pewarisan memungkinkan seorang programmer berorientasi obyek menghindari penulisan ulang fungsi dan data anggota berulang kali.

Suatu kelas dapat diciptakan berdasarkan kelas lain. Kelas baru ini mempunyai sifat-sifat yang sama dengan kelas pembentuknya, ditambah sifat-sifat khusus lainnya. Dengan pewarisan kita dapat menciptakan kelas baru yang mempunyai sifat sama dengan kelas lain tanpa harus menulis ulang bagian-bagian yang sama. Pewarisan merupakan unsur penting dalam pemrograman berorientasi objek dan merupakan blok bangunan dasar pertama penggunaan kode ulang (code reuse).

Jika tidak ada fasilitas pewarisan ini, maka pemrograman dalam C++ akan tidak banyak berbeda dengan pemrograman C, hanya perbedaan dalam pengkapsulan saja yang menggunakan kelas sebagai pengganti struktur. Data dan fungsi yang dapat diwariskan hanya yang bersifat public dan protected. Untuk data dan fungsi private tetap tidak dapat diwariskan. Hal ini disebabkan sifat protected yang hanya dapat diakses dari dalam kelas saja.

Sifat pewarisan ini menyebabkan kelas-kelas dalam pemrograman berorientasi objek membentuk hirarki kelas mulai dari kelas dasar, kelas turunan pertama, kelas turunan kedua dan seterusnya.

Berikut adalah bentuk umum mendefinisikan suatu kelas turunan :

class nama_kelas : perubah_akses kelas_induk, …
{
…
}

Keterangan :

nama_kelas –>  merupakan nama kelas turunan

kelas_induk –> merupakan nama kelas induk dimana data dan fungsi anggota diturunkan. Kelas induk dapat berjumlah lebih dari satu. Apabila lebih dari satu, masing-masing kelas induk harus dipisahkan dengan tanda koma (,).

perubah_akses –> merupakan perubah akses kelas (class access modifier). Perubah ini menentukan sifat akses anggota-anggota dari kelas induk. Perubah akses ada 3 macam jenis, yaitu :

  • Private merupakan perubah akses bawaan jika tidak ada perubah akses yang dispesifikasikan
  • Protected
  • Public

Beberapa aturan pewarisan yang berlaku untuk perubah akses ini adalah sebagai berikut :

a.      Untuk perubah akses kelas public :

  • Anggota public dari kelas induk menjadi anggota public kelas turunan
  • Anggota protected dari kelas induk menjadi anggota protected kelas turunan
  • Anggota private tidak diwariskan ke kelas turunan

b.      Untuk perubah akses kelas protected :

  • Anggota public dari kelas induk menjadi anggota protected kelas turunan
  • Anggota protected dari kelas induk menjadi anggota protected
  • Anggota private tidak diwariskan ke kelas turunan

c.      Untuk perubah akses kelas private :

  • Anggota public dari kelas induk menjadi anggota private kelas turunan
  • Anggota protected dari kelas induk menjadi anggota private kelas turunan
  • Anggota private tidak diwariskan ke kelas turunan

Contoh hierarki suatu kelas dalam pewarisan :

  • mulia sf

    terimakasih gan, sangat bermanfaat