Polymorphism Java dan Contohnya

Melanjutkan kembali artikel java sebelumnya saya kali ini akan membagikan artikel mengenai polymorphism pada java serta kegunaannya dan mungkin sediit menjelaskan dia juga eh maksudnya pentingnya gunakan polymorphism. Kembali menjelaskan tentang java, salah satu bahasa pemrograman yang populer ini yang memiliki banyak kelebihan tapi disamping itu java juga memiliki hal hal misterius udah kaya mistus aje nih... Semisterius apa pada java?? Entahlah namun dalam bahasa java ini memeiliki rahasa dan mungkin kurang diketahui para programmer java salah satunya polymorphism ini.
Oke langsung saja tanpa basa basi, panjang lebar, dengan singkat padat dan jelas saya akan menjelaskan satu persatu. Yoo check it out
1. Polymorphism
Polymorphisme atau polimorfisme adalah salah sifat pemrograman berorientasi objek dimana pada method ini dapat menjalankan lebih dari satu tipe argumen.
Contoh program
1. /* File name : Employee.java */
public class Employee {
   private String name;
   private String address;
   private int number;
   public Employee(String name, String address, int number) {
      System.out.println("Constructing an Employee");
      this.name = name;
      this.address = address;
      this.number = number;
   }
   public void mailCheck() {
      System.out.println("Mailing a check to " + this.name + " " + this.address);
   }
   public String toString() {
      return name + " " + address + " " + number;
   }
   public String getName() {
      return name;
   }
   public String getAddress() {
      return address;
   }
   public void setAddress(String newAddress) {
      address = newAddress;
   }
   public int getNumber() {
      return number;
   }
}
Now suppose we extend Employee class as follows −
/* File name : Salary.java */
public class Salary extends Employee {
   private double salary; // Annual salary
  
   public Salary(String name, String address, int number, double salary) {
      super(name, address, number);
      setSalary(salary);
   }
  
   public void mailCheck() {
      System.out.println("Within mailCheck of Salary class ");
      System.out.println("Mailing check to " + getName()
      + " with salary " + salary);
   }
  
   public double getSalary() {
      return salary;
   }
  
   public void setSalary(double newSalary) {
      if(newSalary >= 0.0) {
         salary = newSalary;
      }
   }
  
   public double computePay() {
      System.out.println("Computing salary pay for " + getName());
      return salary/52;
   }
}
2./* File name : VirtualDemo.java */
public class VirtualDemo {
   public static void main(String [] args) {
      Salary s = new Salary("Mohd Mohtashim", "Ambehta, UP", 3, 3600.00);
      Employee e = new Salary("John Adams", "Boston, MA", 2, 2400.00);
      System.out.println("Call mailCheck using Salary reference --");  
      s.mailCheck();
      System.out.println("\n Call mailCheck using Employee reference--");
      e.mailCheck();
   }
}
Outputnya
/* File name : VirtualDemo.java */
public class VirtualDemo {
   public static void main(String [] args) {
      Salary s = new Salary("Mohd Mohtashim", "Ambehta, UP", 3, 3600.00);
      Employee e = new Salary("John Adams", "Boston, MA", 2, 2400.00);
      System.out.println("Call mailCheck using Salary reference --");  
      s.mailCheck();
      System.out.println("\n Call mailCheck using Employee reference--");
      e.mailCheck();
   }
}
Yah sekian dari saya ane mau istirahat udah caoe selamat malam senin besok back to kehiduoan sehari hari....


EmoticonEmoticon