Minggu, 18 November 2012

OVERLOADING DAN OVERRIDING

OVERLOADING DAN OVERRIDING

  1. Overloading adalah suatu kemampuan yang dimiliki oleh bahasa perograman berorientasi objek untuk menggunakan satu nama untuk beberapa method yang memiliki parameter masukan yang berbeda.
    Contoh :

    public class MainClass4 {
      static void print(String s, int i) {
        System.out.println("String: " + s + ", int: " + i);
      }

      static void print(int i, String s) {
        System.out.println("int: " + i + ", String: " + s);
      }

      public static void main(String[] args) {
        print("String first", 11);
        print(99, "Int first");
      }
    }

    Outputnya adalah :
    String: String first, int: 11
    int: 99, String: Int first
    Press any key to continue . . .
  2. Overriding adalah suatu kemampuan dalam bahasa pemrograman berorientasi objek untuk mengubah implementasi (menimpa) suatu method yang dimiliki oleh kelas super ketika kelas super tersebut diturunkan. 
    Contoh :

    class A1 {
      int i, j;

      A1(int a, int b) {
        i = a;
        j = b;
      }

      // display i and j
      void show() {
        System.out.println("i and j: " + i + " " + j);
      }
    }

    class B1 extends A1 {
      int k;

      B1(int a, int b, int c) {
        super(a, b);
        k = c;
      }

      void show() {
        System.out.println("k: " + k);
      }
    }

    class Override {
      public static void main(String args[]) {
        B1 subOb = new B1(1, 2, 3);

        subOb.show(); // this calls show() in B
      }
    }

    Outputnya adalah :
    k: 3
    Press any key to continue ….