Kamis, 11 Desember 2008

Inheritance Pada Python...

Inheritance berarti turunan dari suatu class. Pendefinisian sintaksnya adalah sebagai berikut :

class NamaClassTurunan (NamaClassDasar):



...

...

...



Nama ClassDasar harus didefinisikan dalam ruang lingkup class turunan. Selain sebuah nama ClassDasar, sebuah ekspresi juga diperbolehkan. Contohnya pada saat menurunkan suatu class yang terdapat dalam suatu modul :

class NamaClassTurunan(namamodule.NamaClassDasar)

Menjalankan pendefinisian class turunan sama halnya dengan mendefinisikan class dasar. Pada saat suatu objek class dibangun, classDasar disertakan di dalamnya. Hal ini digunakan sebagai referensi attribut; jika permintaan terhadap suatu attribut tidak ditemukan di dalam class, kemudian mencari attribut tersebut ke dalam classDasar. Aturan ini berkelanjutan jika classDasar yang ditentukan merupakan classTurunan lain.

Berikut ini merupakan classTurunan dari class Mencetak :

>>> class printer (Mencetak):

... def tambah_kata(self,kata):

... self.kata = self.kata + kata



Pada contoh diatas kita membuat suatu classTurunan dengan nama printer yang diturunkan dari class Mencetak, dan ditambahkan suatu metode yang berfungsi menambahkan suatu kata. Contoh penggunaannya :

>>> buku = printer()

>>> buku.kata = "Buku Python"

>>> buku.tambah_kata("Bisa dibeli di Amazon.com")

>>> buku.cetak()


Kata yang anda ingin cetak Buku Python bisa dibeli di Amazon.com

Contoh diatas adalah suatu class turunan yang diturunkan dari class Mencetak.

Seperti yang terdapat pada kode diatas, beberapa metode diatas tidak didefinisikan dalam class printer, tetapi mengapa printer dapat menjalankan metode yang berada pada class Mencetak? hal ini dikarenakan classTurunan akan mencari attribut yang dipanggil pada ClassDasar jika attribut tersebut tidak ditemukan dalam class itu sendiri. Kita juga dapat mendefinisikan classTurunan dari beberapa ClassDasar, seperti halnya satu classDasar, jika attriut yang diminta tidak ada pada class itu sendiri maka akan mencari ke classDasarsatu, kemudian jika tidak ada juga maka akan mencari classDasar yang berikutnya.

disadur dari www.ilmukomputer.org

Tidak ada komentar: