Mari mengenal Inheritance pada beberapa bahasa pemrograman.

Share:

Hello world! Kalian tentu sudah tau apa itu OOP (Object Oriented Progamming).Disini  saya akan membahas salah satu OOP pada bahasa pemrograman yaitu Inheritance, dan juga sifat-sifat dari inheritance itu sendiri.

 
Pengertian Inheritance

Inheritance adalah Konsep pemrograman dimana suatu class dapat menurunkan property serta method pada class lain.Inheritance memiliki tujuan untuk membuat objek baru yang memiliki sifat yang sama atau mirip dengan class yang sudah ada.Pada inheritance class yang di turunkan disebut Super class atau Parent class sementara class yang menurunkan disebut Child class, sub class, derived class atau heir class.Inharitance tidak dapat diakses jika Parent class memiliki hak akses private yaitu hanya dapat di akses class itu sendiri.

 
Sifat - sifat  Inheritance

Inheritance memiliki beberapa sifat pada penggunaanya diantara lain:
  1. Pada java tidak dapat melakukan pewarisan ganda, yaitu membuat sub class yang diturunkan dari beberapa Parent class sekaligus.Sementara pada C++ mungkin dapat dilakukan.
  2. Pada dasarnya Sub class hanya class biasa jadi kita dapat mewariskan Sub class ke Sub class lain.
  3. Setiap perubahan Parent class juga mempengaruhi Sub class.
  4. Pada Java dan PHP cara menggunakan inharitance yaitu dengan sintaks Extends, Sementara pada javascript menggunakan That.
  5. Tidak semua property dan method dapat diwariskan.
  6. Pada Javascript inharitance dapat diakses dengan dua cara Prototype dan Fungsional.

 
Contoh - contoh Inheritance

Inharitance memiliki beberapa contoh pada berbagai bahasa pemrogram berikut contohnya:
Pada C#

 using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Text;

 namespace Inheritance
 {
 class induk
 {
 private string var1 = "Demo Pewarisan"; //hak akses private berarti tidak dapat diakses oleh kls  anak
 public int var2 = 10; //hak akses public berarti dapat diakses oleh kls anak
 public induk()
 { }
 public void cetakData()
 { }
 }
 class anak : induk
 {
 public anak()
 { }
 public void cetak()
 {
 cetakData();
 }
 } 
 class Program
 {
 static void Main(string[] args)
 {
 anak anak = new anak();

 anak.cetak();
 anak.cetakData();

 Console.WriteLine("Inheritance Menggunakan C#");
 Console.WriteLine("Isi Var 2 = " + anak.var2);

 Console.ReadLine();
 }
 }
 }

Pada C++
#include <iostream>
#include <cstdlib>

using namespace std;
class induk
{
private : string var1; //hak akses private berarti tidak dapat diakses oleh kls anak
public : int var2; //hak akses public berarti dapat diakses oleh kls anak
public : induk()
{
var2 = 10;
}
public : void cetakData()
{ }
};
class Anak : public induk
{
public : Anak()
{ }
public : void cetak()
{
cetakData();
}
};

int main(void)
{
Anak anak;

anak.cetak();
anak.cetakData();

cout << "Inheritance Menggunakan C++" << endl;
cout << "Isi Var 2 = " << anak.var2 << endl;

system("pause");
return 0;

}

Pada Java
package today;
public class O {
//Inheritance adalah konsep dimana kita dapat mewariskan data dan metode class utama pada class baru
int umur;
String warna;

int get_umur(){
return umur;
}
}
class Today extends O{

public static void main(String[] args){

Today h  = new Today();
//h.umur=20;
//h.set_umur();
h.set_umur(20);
//System.out.println(h.umur);
System.out.println(h.get_umur());

}

//void set_umur(){
//umur = 15;
void set_umur(int umur){
this.umur = umur;
}



}

Pada Javascript cara 1 (Prototype) :
var manusia = {
    nama: "Scott",
    mata: 2,
    buka_mata: function () {
        console.log("Mata membuka maka manusia melihat.");
    }
};
Setelah itu kita membuat instan objek atau class yang sama dengan Object.create.
var mutan = Object.create(manusia);
mutan.nama = "Cyclops";
mutan.mata = 1;
mutan.buka_mata = function () {
    console.log("Mutan membuka mata dan yang di depan mata meledak.");
};
Pada Javascript cara 2 (Fungsional) :
  1. Mendeklarasikan variabel maupun fungsi yang bersifat privat. Seluruh nilai-nilai privat ini dibuat hanya dengan menggunakan Var biasa saja.
  2. Membuat objek baru yang nantinya akan dikembalikan oleh fungsi. Pembuatan objek baru dapat dilakukan dengan cara apapun, mulai dari {}, Object.crete, ataupun Closure.
  3. Tambahkan method ataupun variabel baru untuk objek yang baru dibuat, jika diperlukan. Nilai yang dibuat di sini merupakan nilai publik yang dapat diakses oleh pengguna objek. Seluruh method untuk objek ini dapat mengakses nilai-nilai privat yang telah dibuat pada langkah pertama.
  4. Mengembalikan objek baru yang telah selesai dibuat.
var negara = function (data) {
        // langkah 1 (nilai-nilai privat)
        var nama = data.nama || "Negara Kosong",
            penduduk = data.penduduk || 0,
            benua = data.benua || "Benua Kosong",
            dataLengkap = function () {
                return nama + " " + penduduk + " " + benua;
            },
            jumlahPenduduk = function () {
                return penduduk;
            },
            setJumlahPenduduk = function (jumlahBaru) {
                penduduk = jumlahBaru;
            },
            // langkah 2 (membuat objek baru)
            that = {};

        // langkah 3 (tentukan nilai publik)
        that.dataNama = function () {
            return nama;
        };
        that.dataLengkap = dataLengkap;
        that.dataPenduduk = jumlahPenduduk;
        that.setDataPenduduk = setJumlahPenduduk;

        // langkah 4 (kembalikan objek)
        return that;
    };
Setelah itu kita mewariskannya dengan cara menulis sintaks That pada javascript.
  var provinsi = function (data) {
        // validasi data
            // untuk memastikan data yang dikirimkan ke
            // negara tidak kosong / salah.
        data.nama = data.nama || "Nama Kosong";
        data.penduduk = data.penduduk || 0;
        data.benua = data.benua || "Benua Kosong";

        var pulau = data.pulau || "Pulau Kosong",
            that = negara(data); // that merupakan negara

        that.dataLengkap = function () {
            return data.nama + " " + pulau + " " + that.dataPenduduk();
        };

        return that;
    };
Pada PHP


<?php // buat class komputer class komputer { protected function beli_komputer() { return "Beli komputer baru"; } } // turunkan class komputer ke laptop class laptop extends komputer { protected function beli_laptop() { return "Beli laptop baru"; } } // turunkan class laptop ke chromebook class chromebook extends laptop { protected function beli_chromebook() { return "Beli chromebook baru"; } public function beli_semua(){ $a = $this->beli_komputer(); $b = $this->beli_laptop(); $c = $this->beli_chromebook(); return "$a <br /> $b <br /> $c"; } } // buat objek dari class laptop (instansiasi) $gadget_baru = new chromebook(); //panggil method objek echo $gadget_baru->beli_semua(); // $gadget_baru->beli_komputer(); // Fatal error: Call to protected method komputer::beli_komputer() ?>

Itulah Pengertian, Fungsi, Sifat serta Beberapa Contoh sintaks dari  Inthertance pada beberapa bahasa pemrograman. Sekian Semoga Bermanfaat~~~

Tidak ada komentar