Preview only show first 10 pages with watermark. For full document please download

Inheritance/pewarisan Java

Inheritance/Pewarisan Java - Free download as PDF File (.pdf), Text File (.txt) or read online for free.

   EMBED

  • Rating

  • Date

    July 2017
  • Size

    110KB
  • Views

    5,715
  • Categories


Share

Transcript

MODUL TEORI TAMBAHAN  PERTEMUAN IX      PEMROGRAMAN JAVA DASAR  • PEWARISAN (INHERITANCE)          © 2007 STIKOM BALI  November 5, 2007  [PEWARISAN/INHERINTANCE]    PENGANTAR  A. PENGERTIAN PEWARISAN  o Pewarisan merupakan sebuah bentuk “penggunaan kembali” (reusability); dimana class  baru dibuat dari class yang pernah ada yang (biasanya) ditambah fasilitasnya.  o Setiap  class  turunan  dapat  menjadi  class  pokok  (induk)  untuk  class  turunan  yang  akan  datang.  o Dalam  pewarisan,  constructor  tidak  diwariskan  pada  class  turunannya,  kecuali  jika  digunakan perintah super.  B. JENIS PEWARISAN  o Pewarisan  tunggal  (single  inheritance)  merupakan  pewarisan  dari  satu  class  pokok  (induk).  o Pewarisan ganda (multiple inheritance) merupakan pewarisan dari dua atau lebih class  pokok.  o Java tidak mendukung multiple inheritance.      Sebelum  melangkah  lebih  jauh  tentang  Pewarisan  ada  baiknya  kita  mengingat  pelajaran  Biologi,  maka  salah satu cabang ilmu Biologi yang disebut Taksonomi, khusus mempelajari pengelompokkan makhluk‐ makhluk ke dalam hirarki kelas‐kelas. Kita mengenal pengelompokkan ke dalam Kingdom, Phylum, Class,  Order, Family, Genus, dan Spesies.                                                Animal                          Invertebrata                          Pisces  Amphibia                                                                                                                      Vertebrata                      Reptilia                                    Kucing                                                                      Aves            Primata              Beruang              Terrier            GreyHound                                                                      Mamalia              Carnivora              Anjing              Hound            Dalmatian      Pemrograman Java Dasar | Teori Pertemuan IX  2      November 5, 2007  [PEWARISAN/INHERINTANCE]    Dari  gambar  diatas  yang  mengambarkan  hirarki  dari  spesies  GreyHound  terjadi  penurunan  sifat.  Greyhund menurunkan sifat dari Hound, yaitu memiliki moncong dan kaki panjang. Hound menurunkan  sifat dari Anjing,  yaitu menggonggong. Anjing menurunkan sifat dari karnivora, yaitu memakan daging.  Carnivora menurunkan sifat dari Mamalia, yaitu melahirkan dan menyusui. Mamalia menurunkan sifat  dari Vertebrata, yaitu mempunyai tulang belakang. Vertebrata menurunkan sifat dari binatang (makhluk  hidup) yaitu ia bernyawa. Penurunan sifat ini menurun dari tingkat hirarki paling atas ke tingkat paling  bawah.  Sehingga  seekor  GreyHound  akan  hidup  bernyawa,  mempunyai  tulang  belakang,  menyusui,  memakan daging, menggonggong dan mempunyai kaki panjang.   Penurunan sifat (inheritance) ini juga diterapkan pada sebuah class di dalam pemrograman OOP dengan  Java.  Misalnya, dalam deklarasi program Java berikut ini:  class mamalia { boolean menyusui =true; //………………………… } class Carnivora extends Mamalia { String makanan=”Daging”; //………………………… } class Anjing extends Carnivora { int kaki = 4; //………………………. } class ContohPewarisan { public static void main(String[] arguments) { Anjing hound = new Anjing(); //……………………… } } Di sini, sebuah class menurunkan sifat dari class lainnya dengan memakai kata kunci  extends.  Sehingga :  • Class Anjing menurunkan sifat dari class Carnivora.  • Class Carnivora menurunkan sifat dari class Mamalia  Object  bound  merupakan  instance  dari  class  Anjing.  Karena  ia  mempunyai  class  Anjing  maka  object  hound mempunyai sifat‐sifat (field dan metode) dari:  • Class Anjing.  • Class Carnivora. Karena class Anjing diturunkan dari class Carnivora  Pemrograman Java Dasar | Teori Pertemuan IX  3    November 5, 2007  [PEWARISAN/INHERINTANCE]    • Class Mamalia. Karena class Anjing diturunkan  dari class Carnivora, yang kemudian  diturunkan  dari class Mamalia.   Sehingga kita dapat menuliskan program berikut ini:  Anjing hound = new Anjing(); System.out.println( hound.menyusui ); System.out.println( hound.makanan ); System.out.println( hound.kaki ); Class  Anjing  tidak  mendeklarasikan  field  makanan  dan  menyusui.  Tetapi,  object  hound  mempunyai  kedua field tersebut yang diturunkan dari class Carnivora dan Mamalia.      SUPERCLASS DAN SUBCLASS  Dalam  pemrograman  Java,  kita  menyebut  hubungan  di  antara  ketiga  class  diatas  dengan  pernyataan  sebagai berikut:  • • • • • • Class Mamalia adalah superclass dari class Carnivora.  Class Mamalia adalah superclass dari class Anjing.  Class Carnivora adalah superclass dari class Anjing.  Class Carnivora adalah subclass dari class Mamalia.  Class Anjing adalah subclass dari class Mamalia.  Class Anjing adalah subclass dari class Carnivora.    Sebuah subclass menurunkan sifat‐sifat dari superclassnya.  Dalam  pemrograman  Java,  semua  class  yang  tidak  mempunyai  seperclass  selalu  diturunkan  secara  otomatis dari class java.lang.Object  Dalam contoh diatas pernyataan :  class Mamalia { //……………………… } Tidak  mempunyai  kata  kunci  extends,  sehingga  tidak  mempunyai  superclas  yang  eksplisit.  Tetapi  Mamalia sebenarnya mempunyai superclass java.lang.Object  Hal ini diset otomatis oleh compiler Java.    Sehingga kita dapat menambahkan lagi pernyataan :  Class Mamalia adalah subclass dari class java.lang .Object    Semua  class  dalam  pemrograman  Java  adalah  subclass  dari  class  java.lang.Object  (baik  langsung  maupun secara tidak langsung)  Pernyataan  subclass  dan  superclass  dibedakan  lagi  menjadi  dua,  yaitu  langsung  (direct)  dan  tidak  langsung (indirect). Sebagai contoh :  • Class Anjing adalah indirect – subclass dari class Mamalia  • Class Anjing adalah direct – subclass dari class Carnivora  Pemrograman Java Dasar | Teori Pertemuan IX  4