Selasa, 18 November 2008

Relationship/Association pada Object Database Db4o - Section 5

Inheritance

Inheritance (Pewarisan): suatu hubungan antar class di mana sebuah class diturunkan (inherits) dari class lainnya. Class hasil turunan disebut dengan derived class atau subclass, sedangkan class induk disebut dengan base class atau superclass.

Devinisi lain, Pewarisan adalah hubungan hirarkis antar class. Class dapat diturunkan dari class lain dan mewarisi semua atribut dan methoda class asalnya dan menambahkan fungsionalitas baru. Kebalikan dari pewarisan adalah generalisasi.


Multiinheritance: inheritance yang tidak hanya satu tingkat hirarki saja tetapi bisa lebih dari satu tingkatan, seperti class Hewan diturunkan lagi menjadi class Anjing, untuk class Anjing didefinisikan lagi menjadi class Doberman sebagai subclass dari Anjing.



Manfaat Inheritance

  • Inheritance memungkinkan untuk menciptakan sebuah class dari class yang sudah ada.

  • Ketika sebuah class diturunkan dari class yang sudah ada maka class tersebut mewarisi semua method dan field dari class orangtuanya.

  • Class anak juga mewarisi bentuk dari class orang tua. Artinya objek dari class anak dapat dikenali sebagai objek dari class orang tua.


Sebagai contoh hubungan Inheritance yaitu Person yang mewarisi Dosen dan Mahasiswa:



Berikut ini adalah contoh kode program dari contoh kasus Pewarisan Person terhadap class Dosen dan Mahasiswa:


Membuat Class Person


  1. package Person;
  2. /**
  3. *
  4. * @author Team_dakoop
  5. */
  6. public class Person {
  7. String Nama;
  8. String Alamat;
  9. int umur;
  10. public Person(String nm, String alamat, int umur){
  11. this.Nama = nm;
  12. this.Alamat = alamat;
  13. this.umur = umur;
  14. }
  15. public String getNama(){
  16. return Nama;
  17. }
  18. public String getAlamat(){
  19. return Alamat;
  20. }
  21. public int getUmur(){
  22. return umur;
  23. }
  24. }


Membuat Class Dosen


  1. package Person;
  2. /**
  3. *
  4. @author Team_dakoop
  5. */
  6. public class Dosen extends Person {
  7. String IdDosen;
  8. public Dosen(String id, Person orang){
  9. super (orang.Nama, orang.Alamat, orang.umur);
  10. this.IdDosen = id;
  11. }
  12. public String getIdDosen(){
  13. return IdDosen;
  14. }
  15. }


Membuat Class Mahasiswa


  1. package Person;
  2. /**
  3. *
  4. * @author Team_dakoop
  5. */
  6. public class Mahasiswa extends Person {
  7. String NIM;
  8. public Mahasiswa(String nim, Person orang){
  9. super (orang.Nama, orang.Alamat, orang.umur);
  10. this.NIM =nim;
  11. }
  12. public String getNIM(){
  13. return NIM;
  14. }
  15. }

Pada bagian main program


  1. package Person;
  2. /**
  3. *
  4. * @author Team_dakoop
  5. */
  6. import com.db4o.*;
  7. public class Main {
  8. /**
  9. * @param args the command line arguments
  10. */
  11. public static void main(String[] args) {
  12. // TODO code application logic here
  13. ObjectContainer db = Db4o.openFile("person.yap");
  14. Person orang1 = new Person("Budi","Bandung",38);
  15. Person orang2 = new Person("Maya","Surabaya",19);
  16. Dosen dosen = new Dosen("D22",orang1);
  17. Mahasiswa mhs = new Mahasiswa("PA/298",orang2);
  18. db.set(orang1);
  19. db.set(orang2);
  20. db.set(dosen);
  21. db.set(mhs);
  22. db.close();
  23. System.out.println("Data sudah tersimpan");
  24. }
  25. }




Referensi

Db4o-5.2 Tutorial, db4objects Inc., USA


Irwanto, Djon., 2007, Membangun Object Oriented Software dengan Java dan Object Database, PT Elex Media Komputindo, Jakarta







Tidak ada komentar: