Materi Inheritance, Enkapsulasi ,Polymorphism,Overriding dan Overloading


PENGERTIAN SERTA CONTOH DARI INHERITANCE,ENKAPSULASI ,POLYMORPHISM,OVERRIDING DAN OVERLOADING




Haloo,teman-teman... Kembali lagi ke blog aku. Di kesempatan kali ini aku mau sedikit menjelaskan tentang materi Inheritance, Enkapsulasi ,Polymorphism,Overriding dan Overloading. Selamat membaca yaa :)


  1. Inheritance  

            Inheritance (penurunan sifat / pewarisan), ini merupakan ciri khas dari OOP yang tidak terdapat pada pemrograman prosedural gaya lama. Dalam hal ini, inheritance bertujuan membentuk obyek baru yang memiliki sifat sama atau mirip dengan obyek yang sudah ada sebelumnya (pewarisan). Obyek turunan dapat digunakan membetuk obyek turunan lagi dan seterusnya. Setiap perubahan pada obyek induk, juga akan mengubah obyek turunannya. Susunan obyek induk dengan obyek turunannya disebut dengan hirarki obyek.
Atau Inheritance yaitu pewarisan sifat-sifat suatu object kepada object turunannya.

Contoh program :

Simpan dengan nama SmartMahasiswa.javaPublic class SmartMahasiswa extends Mahasiswa{
}
Simpan dengan nama Main.javapublic class Main{
public static void main(String[] args]) {
SmartMahasiswa mhs = new SmartMahasiswa();
mhs.setNim(“09530518”);
mhs.setNama(“Nadia Kharisma Ulfah”);
mhs.printNim();
mhs.printNama();
}
}
kemudian jalankan yaa


2. Enkapsulasi

           Enkapsulasi/pengkapsulan adalah pembungkus, pembungkus disini dimaksudkan untuk menjaga suatu proses program agar tidak dapat diakses secara sembarangan atau di intervensi oleh program lain. Konsep enkapsulasi sangat penting dilakukan untuk menjaga kebutuhan program agar dapat diakses sewaktu-waktu, sekaligus menjaga program tersebut.
Dalam kehidupan sehari hari enkapsulasi dapat dimisalkan sebagai arus listrik pada generator, dan sistem perputaran generator untuk menghasilkan arus listrik. Kerja arus listrik tidak mempengaruhi kerja dari sistem perputaran generator, begitu pula sebaliknya. Karena didalam arus listrik tersebut, kita tidak perlu mengetahui bagaimana kinerja sistem perputaran generator, apakah generator berputar kebelakang atau ke depan atau bahkan serong. Begitu pula dalam sistem perputaran generator, kita tidak perlu tahu bagaimana arus listrik, apakah menyala atau tidak.
Begitulah konsep kerja dari enkapsulasi, dia akan melindungi sebuah program dari akses ataupun intervensi dari program lain yang mempengaruhinya. Hal ini sangat menjaga keutuhan program yang telah dibuat dengan konsep dan rencana yang sudah ditentukan dari awal.

Contoh dalam program:

Belajar.Javaclass belajar{
public String x =”Pintar”;
private String y = “Java”;
}
Pintar.Javapublic class Pintar{
public static void main(String[]args){
Coba panggil = new Belajar();
System.out.println(“Panggil X : “+panggil.x);
System.out.println(“Panggil Y : “+panggil.y);
}}


3. Polymorphism

     Dari segi bahasa, Polimorfisme (bahasa inggris: Polymorphism) berasal dari dua kata bahasa latin yakni poly dan morph. Poly berarti banyak, dan morph berarti bentuk.
Di dalam pemrograman objek, polimorfisme adalah konsep dimana terdapat banyak class yang memiliki signature method yang sama. Implementasi dari method-method tersebut diserahkan kepada tiap class, akan tetapi cara pemanggilan method harus sama. Agar kita dapat ‘memaksakan’ signature method yang sama pada banyak class, class tersebut harus diturunkan dari sebuah abstract class atau object interface.
Peran Abstract Class dan Interface dalam Polimorfisme
Baik abstract class maupun interface bisa digunakan untuk membuat banyak class dengan method yang sama. Bahkan keduanya sering digunakan secara bersama-sama.

Contoh dalam program:


<?php
// buat abstract class
abstract class komputer{
   // buat abstract method
   abstract public function booting_os();
}
interface mouse{
   public function double_klik();
}
class laptop extends komputer implements mouse{
   public function booting_os(){
     return "Proses Booting Sistem Operasi Laptop";
   }
   public function double_klik(){
     return "Double Klik Mouse Laptop";
   }
}
class pc extends komputer implements mouse{
   public function booting_os(){
     return "Proses Booting Sistem Operasi PC";
   }
   public function double_klik(){
     return "Double Klik Mouse PC";
   }
}
class chromebook extends komputer implements mouse{
   public function booting_os(){
     return "Proses Booting Sistem Operasi Chromebook";
   }
   public function double_klik(){
     return "Double Klik Mouse Chromebook";
   }
}
// buat objek dari class diatas
$laptop_baru = new laptop();
$pc_baru = new pc();
$chromebook_baru = new chromebook();
// buat fungsi untuk memproses objek
function booting_os_komputer($objek_komputer){
   return $objek_komputer->booting_os();
}
function double_klik_komputer($objek_komputer){
   return $objek_komputer->double_klik();
}
// jalankan fungsi
echo booting_os_komputer($laptop_baru);
echo "<br />";
echo double_klik_komputer($laptop_baru);
echo "<br />";
echo "<br />";
echo booting_os_komputer($pc_baru);
echo "<br />";
echo double_klik_komputer($pc_baru);
echo "<br />";
echo "<br />";
echo booting_os_komputer($chromebook_baru);
echo "<br />";
echo double_klik_komputer($chromebook_baru);
?>


4. Overriding

     Overriding merupakan suatu keadaan dimana kelas anak dapat mengubah atau bisa kita bilang memodifikasi atau memperluas data dan method pada kelas indukKeuntungan Overriding : dapat menambahkan sifat / atribut pada kelas induk nyalebih Jelasnya Overloading secara singkat :
  • Mendefinisikan method dengan nama sama pada class yang berbeda
  • Konsep dapat di manfaatkan dalam beberapa kasus inheritance, di mana menginginkan penamaan method dengan nama sama namunberbeda dalam impelementasinya.

Contoh dalam program:

class Kendaraan {…………..
public String getJenis() {
System.out.println(“Harga BBM turun”);}
}
class Motor extends Kendaraan {…………..
public String getJenis() {
System.out.println(“Harga BBM premium 4000 rupiah”);
}
    }

5. Overloading


          Overloading merupakan suatu function yang memiliki parameter , dan function tersebut dapat memiliki nama function yang sama dengan yang lainnya dengan syarat jumlah parameter mesti berbedaatau bisa kita bilang Situasi di mana beberapa rutin dalam sebuah program dapat mempunyai nama sama tetapi berbeda jenis parameter dan/utau jenis return value.
lebih Jelasnya Overloading secara singkat :
  • Nama Method Boleh Sama , Tapi Jumlah Parameter Mesti berbeda
  • Nilai Yang Di Return Harus memiliki Tipe yang sama

Contoh dalam program:

public class Hitung
{   static int tambah(int x, int y)
    {   return x+y;
    }
   
    static double tambah(double x, double y)
    {   return x+y;
    }
   
    static int tambah(int x, int y, int z)
    {   return x+y+z;
    }
   
    static void tambah2(int x, int y)
    {   System.out.println("x"+x+" + y"+y+"="+(x+y));
    }
   
    public static void main(String[] a)
    {   int x,y;
        x=2;    y=x+3;
        x=tambah(2,3);
        System.out.println("1.    "+x);
        System.out.printf("2.   %.2f \n",tambah(2.3, 4.1));
        System.out.println("3.   "+tambah(5, 12, 3));
        System.out.println("4.   "+tambah(100, 0.5));
        System.out.println("5.   "+tambah(2.5, 4));
        System.out.println("6.   "+tambah(tambah(x*2, (x*2-y)), tambah((y-x),
                                                tambah(7, 3), 2)));
        System.exit(0);
    }
}


Demikian sedikit pembahasan tentang Inheritance, Enkapsulasi ,Polymorphism,Overriding dan Overloading... Semoga bisa bermanfaat bagi kalian yang membutuhkan yaa...

Komentar

Postingan populer dari blog ini

Membuat Program Point Of Sales

Tutorial CRUD Java Netbeans dan MySQL