Pengertian inheritance dan polymorphism beserta contohnya


Bismillahirrahmannirrahiim...



1. Inheritance 

      Inheritance atau Pewarisan/Penurunan adalah konsep pemrograman dimana sebuah class dapat ‘menurunkan’ property dan method yang dimilikinya kepada class lain. Konsep inheritance digunakan untuk memanfaatkan fitur ‘code reuse’ untuk menghindari duplikasi kode program.

      Konsep inheritance membuat sebuah struktur atau ‘hierarchy’ class dalam kode program. Class yang akan ‘diturunkan’ bisa disebut sebagai class induk (parent class), super class, atau base class. Sedangkan class yang ‘menerima penurunan’ bisa disebut sebagai class anak (child class), sub class, derived class atauheir class.

      Tidak semua property dan method dari class induk akan diturunkan. Property dan method dengan hak akses private, tidak akan diturunkan kepada class anak. Hanya property dan method dengan hak akses protected dan public saja yang bisa diakses dari class anak.

Contoh penerapan progam inheritance pada c++ :

#include <iostream>
using namespace std;

class induk{
protected:
int sisi_a,sisi_b;
public:
void input(float panjang, float lebar);
};

void induk::input(float panjang, float lebar){
sisi_a = panjang;
sisi_b = lebar;
}

class anak:public induk{
public:
float luas(){return sisi_a*sisi_b;};
};

int main(){
anak c;
c.input(7,8);
cout<<"Nilai dari c.luas() adalah = "<<c.luas()<<endl;
return 0;
}



Dibawah ini adalah gambar coding dan hasil ouputnya:




2. Polymorphism

      Polymorphism berasal dari bahasa Yunani yang berarti banyak bentuk. Dalam konsep ini memungkinkan digunakannya suatu interface yang sama untuk memerintah objek agar melakukan aksi atau tindakan yang mungkin secara prinsip sama namun secara proses berbeda.

      Polymorphism merupakan kemampuan suatu method untuk bekerja dengan lebih dari satu tipe argumen. Pada bahasa lain (khususnya C++), konsep ini sering disebut dengan method overloading. Pada dasarnya, Python tidak menangani hal ini secara khusus. Hal ini disebabkan karena Python merupakan suatu bahasa pemrograman yang bersifat dynamic typing yaitu tidak memerlukan deklarasi tipe.

      Polymorphism adalah suatu object dapat memiliki berbagai bentuk, sebagai object dari class sendiri atau object dari superclassnya.


Contoh penerapan progam polymorphism pada c++ :


#include <iostream>
using namespace std;
class Bidang
{   protected: int lebar, tinggi;
    public:
    Bidang( int a=0, int b=0)
    { lebar = a;
      tinggi = b;
    }
    virtual int luas()
    {  cout << "Luas Bidang : 0 " << endl;
    }
};
class Segitiga: public Bidang
{   public:
    Segitiga( int a=0, int b=0):Bidang(a, b) { }
    int luas ()
    { cout << "Luas Segitiga : "
           << (lebar * tinggi) << endl;
    }
};
class Segiempat: public Bidang
{   public:
    Segiempat( int a=0, int b=0):Bidang(a, b) { }
    int luas ()
    {   cout << "Luas Segiempat : "
         << (lebar * tinggi / 2) << endl;
    }
};
int main( )
{   Bidang *bidang;
    Segitiga segitiga(10,7);
    Segiempat segiempat(10,5);
    bidang = &segitiga;
    bidang->luas();
    bidang = &segiempat;
    bidang->luas();
    return 0;
}


Dibawah ini adalah gambar coding dan hasil ouputnya:





Referensi:




Semoga bermanfaat dan terima kasih sudah mampir ke blog saya..😉

Komentar