PEWARISAN 1. Tujuan Untuk mengetahui bagaimana cara mendefinisikan superclass dan subclass, dan cara membuatnya serta menje...
PEWARISAN
1. Tujuan
Untuk mengetahui bagaimana cara mendefinisikan superclass dan subclass, dan cara membuatnya serta menjelaskan cara penggunaan acces modifier, dan mengetahui apa itu overriding methods.
2. Pembahasan
Pewarisan merupakan keuntungan terbesar dalam suatu pemrograman berbasis object karena suatu sifat atau method didefinisikan dalam superclass, dan selanjutnya akan diturunkan pada subclass. Dalam pewarisan digunakan acces modifier yang berguna untuk membuat, mengatur properties dan class methods, untuk mengimplementasikan tersebut ada beberapa macam acces modifier yaitu public, private, protected dan default.
Selanjutnya pada pelaksaaan praktikum dilisting dapat dijelaskan, yang peratama pada class person, person merupakan class induk atau superclass, dimana memiliki 2 atribut yang memakai acces modifier protected, kemudian pada class person dibuat juga constructor, yang hanya akan menampilkan pesan inside person, jika atribut nama dan alamat kosong. Kemudian dilanjutkan lagi dengan pembuatan method mutator yang nilainya nama dan alamat dengan fungsi this. Selanjutnya pembuatan method acesor dengan fungsi return dengan mengambil nama, dan mengambil alamat, dan untuk menampilkan nama dan alamat, dapat digunakan fungsi set untuk nama dan alamat.
Kemudian pada praktiku yang ke dua, terdapat kelas mahasiswa dimana class tersebut turunan dari class person, disitu bisa diatndai pada tulisan extends, extends berarti turunan. Kemudian dibuat 2 atribut dengan menggunakan acces modifier private, lalu dilanjutkan dengan pembuatan method mutator yang isinya nama, jurusan, dan alamat dengan menggunakan fungsi this. Selanjutnya pada void main disitu terdapat nama kelas mahasiswa dengan nama objeknya mhs = new yang merupakan perintah instance dan nama konstruktornya yaitu mahasiswa, yang nanatinya akan menampilkan nim dimana nim diambil dari nama objek mhs, kemudian dilanjutkan dengan menampilkan nama, jurusan, serta alamat, kelas mahasiswa tersebut sebagai defaultnya.
Lalu dilanjutkan dengan pembuatan objek bari lagi yaitu mhs1 dari class mahasiswa dengan perintah instance dan konstruktor mahasiswa yang isinya (‘1’,’lulu’,’si’,’janti’) kemudian isi dari konstruktor tersebut akan ditampilkan dengan cara mamnggil objek yang bernama objek mhs1.
Selanjutnya penjelasan untuk latihan yanga ada pada listing, untuk yang latihan pertama pada class mahasiswa terdapat banyak erro ketika dijalankan dikarenakan pada class person pada modifier menggunakan akses private, dimana private tersebut hanya bisa diakses oleh class itu senddiri, yaitu class person, pada class mahasiswa modifier tersebut tidak dikenal. Kemudian untuk latihan pada no. 2, disitu programnya sama dengan class mahasiswa, hanya saja disini diminta untuk bagaimana cara class mahasiswa mengakses dan mengganti data untuk variable nama dan alamat jika variable dan alamat pada class person berakses modifier, sebenarnya jawabannya hanya pada method mutator ditambahkan class super untuk nama dan lamat dengan sintaks super.setNama(nm) dan super.setAlamat(almt) dan kemudian pada void main ditambahkan untuk memanggil objek mhs1 dengan sintaks mhs1.info dan agar bisa diakses pada class person.
3. Tugas
package Tugas;
public class Binatang {
protected String nama;
protected String jenis;
protected String makan;
public Binatang(){
nama ="";
jenis ="";
makan ="";
}
public void setJenis(String js){
this.jenis = js;
}
public void info(){
System.out.println("Nama Binatang : "+nama);
System.out.println("Jenis Binatang : "+jenis);
System.out.println("Makanan : "+makan);
}
}
package Tugas;
public class Mamalia extends Binatang{
private String jumlahkaki;
public Mamalia(String jk, String mk,String nm){
this.jumlahkaki = jk;
this.makan = mk;
this.nama = nm;
super.setJenis("Mamalia");
}
public void info(){
super.info();
System.out.println("Jumlah Kaki : "+jumlahkaki);
System.out.println("");
}
public static void main (String [] args){
Mamalia mam1 = new Mamalia("2","Pisang","Gorila");
Mamalia mam2 = new Mamalia("0","Iwak","Paus");
mam1.info();
mam2.info();
}
}
run:
Nama Binatang : Gorila
Jenis Binatang : Mamalia
Makanan : Pisang
Jumlah Kaki : 2
Nama Binatang : Paus
Jenis Binatang : Mamalia
Makanan : Iwak
Jumlah Kaki : 0
BUILD SUCCESSFUL (total time: 0 seconds)
package Tugas;
public class Unggas extends Binatang{
private String jumlahkaki;
public Unggas(String jk, String mk,String nm){
this.jumlahkaki = jk;
this.makan = mk;
this.nama = nm;
super.setJenis("Unggas");
}
public void info(){
super.info();
System.out.println("Jumlah Kaki : "+jumlahkaki);
System.out.println("");
}
public static void main (String [] args){
Unggas ung = new Unggas("2","Beras","Ayam");
Unggas ung1 = new Unggas("2","Biji","Manuk");
ung.info();
ung1.info();
}
}
run:
Nama Binatang : Ayam
Jenis Binatang : Unggas
Makanan : Beras
Jumlah Kaki : 2
Nama Binatang : Manuk
Jenis Binatang : Unggas
Makanan : Biji
Jumlah Kaki : 2
BUILD SUCCESSFUL (total time: 0 seconds)
4. Kesimpulan
Subclass merupakan turunan dari class induk, dan cara membuatnya dapat gunakan sintaks class (subclass) extends (superclass). Dan pada pewarisan digunakan juga method overriding yang akan digunakan jika class child perlu mempunya implementasi berbeda dari method yang khusus dari superclass, atau method overriding merupakan method yang sama.
5. Listing
Terlampir.
COMMENTS