THOUSANDS OF FREE BLOGGER TEMPLATES

Selasa, 31 Mei 2011

Modul 2 Polymorphism

 hohoho,,temen minggu kemarin dmodul 1 qt membahas Class & object ,,nah..ckr qt melanjutkan kemodul 2 yang membahas tentang polymorphism

disini sedikit mengulas tentang apa polymorphism,,,,
              Dimana Polimorfisme berasal dari kata poly morphy (memiliki banyak bentuk), dengan kata lain Polimorfisme adalah kemampuan suatu objek untuk mengungkapkan banyak hal melalui satu cara yang sama tetapi bentuk prosesnya berbeda.
              Polimorfisme mengizinkan kelas utama untuk mendefinisikan secara umum untuk semua kelas turunanya, dan selanjutnya kelas-kelas turunan dapat memperbaharui implementasi dari method tersebut secara lebih spesifik sesuai dengan karakteristiknya masing-masing.
               Sebagai contoh, objeknya adalah kita mempunyai kelas utama adalah kelas kendaraan. Selain membuat kelas utama kita membuat kelas-kelas turunannya yaitu ada kelas kendaraan mobil, kendaraan bus, dan kendaraan truk. Polimorfisme mengijinkan pendefinisian ‘kenadaraan’ ini secara berulang (dengan nama yang sama) asalkan input yang diberikan tipenya berbeda-beda.

itulah sedikit pembahasan dari polymorphism,,,selanjutnya kembali ke tugas pendahuluan modul 2,hahaiiii

Tugas Pendahuluan

keuntungan dari polymorphism:
dalam pemrograman berbasis objeck Polymorphism sangat memberi keuntungan karna terdapat Kemampuan sebuah variabel reference untuk merubah behavior sesuai dengan apa yang dipunyai object. Polymorphism membuat objek-objek yang berasal dari subclass yang berbeda, diperlakukan sebagai objek-objek dari satu superclass. Hal ini terjadi ketika memilih method yang sesuai untuk diimplementasikan ke objek tertentu berdasarkan pada subclass yang memiliki method bersangkutan.

hubungan antar teknik overloading dengan Polymorphism:
Hubungannya yaitu mendefinisikan method yang memiliki nama yang sama,tetapi dengan signature atau tanda yang berbeda dalam definisi kelas yang sama. Overloading berbeda dengan overriding yang mendifinisikan kembali method yang sama,baik nama method maupun signature atau parameter yang diperlukan dalam subkelas.

langsung ja ya,,,,lgi gd kata-kata nech,,,cz kburu pulkam,,hehehe
implementasi

Pada gambar 1 kita membuat tiga object class dengan nama Student, subclass
StudentGrad dan class StudentInfo. Class Student mempunyai method Write yang digunakanuntuk melewatkan argumen untuk kemudian ditampilkan dengan menggunakan method Display.

Berikut Source codenya:
/*Disimpan dengan nama Student.java*/
/*Kode Program untuk kelas Student*/

class student_ayu {
public void Write(int ID, int Grad, String Fname, String Lname) {
m_ID = ID;
m_Graduation = Grad;
m_First = Fname;
m_Last = Lname;
}

public void Display(){
System.out.println( "Student: " + m_ID + " " + m_First + " " + m_Last + " Graduated: " + m_Graduation);
}
private int m_ID, m_Graduation;
private String m_First;
private String m_Last;
}

//Membuat kelas StudentGrad yang merupakan kelas turunan dari kelas Student

/*Disimpan dengan nama StudentGrad.java*/
/*Kode Program untuk kelas StudentGrad*/
class StudentGrad extends student_diah {
public void Write(int ID, int Grad, String Fname, String Lname, int yrGrad, String unSch, String major) {
super.Write(ID, Grad, Fname, Lname);
m_UndergradSchool = unSch;
m_Major = major;
m_Grad = Grad;
YearGraduated = yrGrad;
}

public void Display(){
super.Display();
System.out.println(" Graduated: " + m_Grad + " " + m_UndergradSchool + " " + m_Major + " " + YearGraduated);
}
private Integer YearGraduated,m_Grad;
private String m_UndergradSchool;
private String m_Major;
}

//Membuat kelas StudentInfo yang digunakan untuk memasukan agumen ke kedua metode pada masing-masing class Student dan StudentGrad
/*Disimpan dengan nama StudentInfo.java*/
/*Kode Program untuk kelas StudentInfo*/
class StudentInfo {
public static void main (String args[]) {
StudentGrad myStudent = new StudentGrad();
myStudent.Write(10,1,"Bob","Smith", 2000,"Columbia University","CS");
myStudent.Display();
}
}

Hasil Running:

Tugas akhir

Kucing, Ayam, dan Anjing merupakan makhluk hidup yang masuk kategori hewan,tiap hewan pasti mempunyai identitas baik itu berupa tipe hewan dan suaranya.

Berikut Source codenya:

Sintaks untuk class hewan.
/*Disimpan dalam file hewan.java*/
/*Kode Program untuk kelas hewan*/
class hewan {
private String tipe;       //kelas dimana hanya bisa diakses oleh kelas itu sendiri
public hewan(String tipe){ //kelas hewan dapat diakses oleh kelas luar
this.tipe = tipe;          //pendeklarasian variabel tipe
}

public String toString(){ //pengubahan tipe data dari string ke string lagi
return "Ini adalah "+tipe;//pengulangan kembali nama hewan
}

public void bersuara(){   //method untuk suara hewan
}

}

Sintak Class Polimorfisme
/*Disimpan dalam file polimorfisme.java*/
/*Kode Program untuk kelas polimorfisme*/
//Kelas induk
import java.util.Random;
class polimorfisme{
public static void main(String args[]){
hewan[] hewannya = {
new Anjing("Broni", "Herder"),
new Kucing("Kiti", "Persia"),
new Ayam("Toki", "Buras")
};

hewan pilihHewan;
Random pilih = new Random();
for (int i = 0; i<5 ; i++){
pilihHewan = hewannya[pilih.nextInt(hewannya.length)];
System.out.println("\nPilihan Anda:\n" + pilihHewan);
pilihHewan.bersuara();
}
}
}

Sintaks Class anjing
/*Disimpan dalam file Anjing.java*/
/*Kode Program untuk kelas Anjing*/
class Anjing extends hewan{ //kelas turunan dari kelas hewan
private String nama; //pendeklarasian nama untuk hak akses private
private String jenis; //pendeklarasian jenis untuk hak akses private

public Anjing(String nama, String jenis){ //pendeklarasian kelas anjing dengan hak akses publik
super("Anjing"); //merupakan kunci dari suatu kelas yang diturunkan

//pendeklarasian variabel
this.nama=nama;
this.jenis=jenis;
}

public void bersuara(){ //method suara dari kelas anjing
System.out.println("Guk.. Guk.. Guk.. ");
}

//pengulangan kembali dimana string diubah menjadi string lagi
public String toString(){
return super.toString()+"\nIni adalah "+jenis+" bernama "+nama;
}
}

Sintaks Class ayam
/*Disimpan dalam file Ayam.java*/
/*Kode Program untuk kelas Ayam*/
class Ayam extends hewan{
private String nama;
private String jenis;

public Ayam(String nama, String jenis){
super("Ayam");
this.nama=nama;
this.jenis=jenis;
}

public void bersuara(){
System.out.println("Kukuruyuk.. Petok.. Petok..");
}

public String toString(){
return super.toString()+"\nIni adalah "+jenis+" bernama "+nama;
}
}


Sintaks Class Kucing
/*Disimpan dalam file Kucing.java*/
/*Kode Program untuk kelas Kucing*/
class Kucing extends hewan{
private String nama;
private String jenis;

public Kucing(String nama){
super("Kucing");
this.nama=nama;
}

public Kucing(String nama, String jenis){
super("Kucing");
this.nama=nama;
this.jenis=jenis;
}

public void bersuara(){
System.out.println("Meong.. Meong.. Meong.. ");
}

public String toString(){
return super.toString()+"\nIni adalah "+jenis+" bernama "+nama;
}

}

Hasil Running:

0 komentar:

Posting Komentar