Pemahaman tentang OOP, object, method, inheritance dan overadding

 OOP adalah merupakan paradigma pemrograman berdasarkan konsep objek, yang dapat berisi data, dalam bentuk field atau dikenal juga sebagai atribut serta kode, dalam bentuk fungsi/prosedur atau dikenal juga sebagai method. Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek.

Ø Object adalah merupakan dasar dari modularitas dan struktur dalam sebuah program komputer berorientasi objek.

Ø Method adalah fungsi atau prosedur untuk mengatur suatu object di dalam satu class.

Ø Inheritance adalah kemampuan sebuah class untuk menurunkan property atau method yang dimilikinya kedalam class lain.

Tujuannya untuk menghindari duplikasi kode program dan reusable code. Ada 5 tipe inheritance, yaitu :

 

 

1. Single Level Inheritance : yaitu inheritance yang hanya satu level, dari satu Superclass ke satu Subclass.

 

Single level merupakan pewaris tunggal,sehingga Class B akan mewarisi Class B, Class A merupakan kelas induk dan Class B merupakan Kelas Anak yang memungkinkan pengguna bisa menambahkan atau mewarisi kelas sebelumnya atau kelas induk.

 

 

Contoh Syntax :

Class A

{

---

}

Class B extends A {

---

}

 

2. Multiple Inheritance : yaitu class yang memiliki 2 Superclass.


Kelas yang memiliki lebih dari satu kelas induk tetapi pada tingkat yang sama, dimana kelas mewarisi properti lebih dari satu kelas induk,metode ini jarang dipakai untuk proyek perangkat lunak karena  saat memanggil metode, kompiler tidak dapat menentukan metode kelas mana yang akan dipanggil dan bahkan saat memanggil metode kelas mana yang mendapat prioritas. Metode ini hanya support dalam program C++

Contoh Syntax:

Class A{

---

}

Class B {

---

}

Class C extends A, B{

---

}

 

 

3. Multilevel Inheritance : yaitu seperti gambar diatas.

 

Kelas yang juga berasal dari kelas yang lainnya, yaitu kelas yang memiliki lebih dari satu kelas induk tetapi pada tingkat yang berbeda. Jika digambarkan dalam gambar alur diatas Class B mewarisi sifat dan perilaku dari Class A dan Class C mewarisi sifat Class B, disini jadi Class A merupakan kelas induk dari Class B dan Class B merupakan kelas induk dari Class C. Jadi secara implisit Class C mewarisi properti dan  metode dari Class A bersama dengan Class B.

 

Contoh Syntax:

Class A{

---

}

Class B extends A{

---

}

Class C extends B{

---

}

 

 

 

 

 

4. Hierarchical Inheritance : yaitu saat ada satu class yang dijadikan Superclass dan class lainnya/lebihnya adalah Subclass.



 

Kelas yang menjadikan satu kelas untuk dijadikan menjadi Superclass atau dengan kata lain lebih dari satu kelas anak memiliki induk kelas yang sama, jika berbicara secara diagram alur diatas Class B , Class C dan Class D diturunkan dari kelas induk yaitu Class A.

Contoh Syntax :

Class A{

---

}

Class B extends A{

---

}

Class C extends A{

---

}

Class D extends A{

---

}

 

 

 

 

5. Hybrid Inheritance : yaitu kombinasi dari 2 atau lebih type inheritance diatas.




Merupakan kombinasi antara pewarisan berganda dan pewarisan multilevel, jika dilihat dari diagram alur diatas Class A merupakan induk dari Class B dan Class C ,sedangkan Class B dan Class C merupakan induk dari Class D.

C

|

---------------

↑             ↑

|             |

A             B

  ↑

  |

  D

Pewarisan kombinasi ini yang biasa dipakai adalah seperti gambar diatas karena untuk menghindari kompiler tidak dapat menentukan metode kelas mana yang dipanggil.  

Class A and B extends class C → Hierarchical inheritance
Class D extends class A → Single inheritance

Contoh Syntax:

class C

{

----

}

 

 

 

class A extends C

{

----

}

 

class B extends C

{

----

}

 

class D extends A

{

----

}

Ø Overadding

1. Overloading : suatu keadaan dimana beberapa method memiliki nama yang sama namun parameter method-nya berbeda.

Contoh Syntax :

class MultiplyFun {

  

    // metode dengan 2 parameter

    static int Multiply(int a, int b)

    {

        return a * b;

    }

  

    // metode dengan nama yang sama tetapi 2 parameter ganda

    static double Multiply(double a, double b)

    {

        return a * b;

    }

}

  

class Main {

    public static void main(String[] args)

    {

  

        System.out.println(MultiplyFun.Multiply(2, 4));

  

        System.out.println(MultiplyFun.Multiply(5.5, 6.3));

    }

}

 

2. Overriding : suatu keadaan dimana method mempunyai nama yang sama dan fungsionalitas yang sama. Namun cara kerja fungsionalitas berbeda.

Contoh Syntax :

class MultiplyFun {

  

    // metode dengan 2 parameter

    static int Multiply(int a, int b)

    {

        return a * b;

    }

  

// metode dengan nama yang sama tetapi dengan 3 parameter

    static int Multiply(int a, int b, int c)

    {

        return a * b * c;

    }

}

  

class Main {

    public static void main(String[] args)

    {

        System.out.println(MultiplyFun.Multiply(2, 4));

  

        System.out.println(MultiplyFun.Multiply(2, 7, 3));

    }


tuliskan komentar anda agar lebih berkembang blog ini terima kasih

apabila ada kekurangan dalam penulisan dalam blog ini...

Komentar

Postingan populer dari blog ini

Pengertian Aux Port dan Console Port

Luas dan Volume Bola pada C ++

Binary Tree C++