Front Advertisement

C# Tutorial - Meninjau Ulang Pengertian dari Konsep Pewarisan (Inheritance)

http://www.xcodeplus.net/2017/11/meninjau-ulang-konsep-pewarisan.html


Meninjau Ulang Konsep Pewarisan (Inheritance)

Sebelumnya kita telah membahas mengenai konsep dasar pewarisan, pewarisan bersama dengan enkapsulasi dan juga polimorfisme merupakan salah satu dari tiga karakteristik utama pemrograman berorientasi objek. 

Pewarisan memungkinkan Anda membuat kelas baru yang dapat dipergunakan kembali, dan juga memodifikasi perilaku yang didefinisikan di kelas lain.

Catatan:
Struktur tidak mendukung konsep pewarisan, akan tetapi dapat diimplementasi melalui interface.

BACA JUGA: Mengenal Konsep Dari Pewarisan

Ketika Anda mendefinisikan kelas untuk diturunkan dari kelas lain, kelas turunan secara implisit memperoleh semua data member dari kelas dasar (base kelas), akan tetapi tidak untuk constructor dan juga finalizer.

Apa itu Constructor dan Finalizers ? Pada pembahasan sebelumnya saya telah membahasnya secara detail mengenai penjelasan dari keduanya, pada link di bawah ini.


BACA JUGA :
1. Pengertian Mengenai Constructor.
2. Pengertian Mengenai Destructor dan Finalizer.

Dalam konsep pewarisan keuntungan yang didapat jika kita mendefinisikannya yaitu:
1. Menghemat dalam penulisan sebuah kode program
2. Menghemat dari pengulangan sebuah sintaks



Penjelasan mengenai analogi pewarisan

Misalkan Anda ingin menciptakan objek hewan terbang seperti burung hantu, gagak, dan dara. Dalam menciptakan makhluk tersebut Anda harus memperhatikan beberapa sifat dari ketiganya:
1. Makan
2. Berkembang biak
3. Terbang

Mari kita asumsikan bahwa ketiga jenis burung ini bisa makan, berkembang biak dan terbang dengan cara yang sama.

Tanpa konsep pewarisan Anda akan menulis sebuah kode program yang sama untuk menciptakan sebuah objek hewan yang bisa terbang ini, mendeklarasikan anologi untuk makan, berkembang biak, dan terbang pada masing-masing objek, padahal dari ketiganya merupakan objek dengan jenis hewan yang sama yaitu jenis burung.

Dengan mendefiniskan sebuah kelas turunan, Anda hanya perlu membuat sebuah kelas utama (base class) anggap saja burung hantu ini sebagai base class, lalu Anda mendefinisikan kelas baru untuk gagak sebagai kelas turunan dari kelas burung hantu. Dengan anologi yang sama Anda hanya perlu mengubah prilaku spesifik dari sifat yang belum ada pada burung gagak dan Anda hanya perlu mewariskan sifat yang sama seperti berkembang biak, makan dan sebagainya.

Inilah manfaat dari konsep pewarisan, Anda dapat menghemat penulisan kode program dan Anda juga dapat memodifikasinya atau dapat memperbarui segala metode dari kelas dasar di dalam kelas turunan. Seperti yang terlihat potongan kode program di bawah ini:

public class A
{
    public void MethodA()
    {
        // Melakukan sesuatu.
    }
}

public class B : A
{
    public override void MethodA() {

        // Melakukan sesuatu yang lain.
    }
}


Pewarisan

Pewarisan adalah kemampuan untuk menciptakan sebuah kelas dari kelas lain, kelas "parents", memperluas fungsionalitas dan keadaan kelas parents di kelas turunan, atau yang disebut "child" . Tentu, hal ini memungkinkan kelas turunan untuk dapat melakukan overload terhadap kelas induk mereka.

Pewarisan merupakan salah satu pilar orientasi objek. Ini adalah mekanisme untuk merancang sebuah kelas dari kelas lain dan salah satu ide untuk reusabilitas kode program.  

Fitur lain yang terkait dengan konsep pewarisan adalah polimorfisme, yang memungkinkan nama metode yang sama digunakan untuk operasi yang berbeda pada tipe data yang berbeda. Dengan demikian, C# mendukung penggunaan kembali kode oleh kedua fitur tersebut.

Karakteristik warisan yang penting meliputi:
  1. Kelas turunan memperluas kelas dasarnya. Artinya, berisi metode dan data kelas induknya, dan juga berisi data anggota dan metodenya sendiri.
  2. Kelas turunan tidak dapat mengubah definisi anggota yang diwarisinya.
  3. Konstruktor dan destruktor tidak diwariskan. Semua anggota kelas dasar lainnya diwarisi.
  4. Aksesibilitas anggota di kelas turunan bergantung pada aksesibilitas yang dinyatakan di kelas dasar.
  5. Kelas turunan dapat menggantikan anggota yang diwarisinya.      

Berikut di bawah ini adalah contoh program pewarisan.


PROGRAM 1.1

using System;

namespace InheritanceDemo{
	
	// Mendefiniskan kelas Eagle (induk)	
	class Eagle{

	   // Metode
           public void CanEat(){
              Console.WriteLine("Dapat Hidup dengan Makan..");
           }
            
 	   public void CanBreed(){
              Console.WriteLine("Dapat Berkembang Biak..");
           }
 
           public void CanFly(){
              Console.WriteLine("Bisa Terbang...");
           }
                     

         }
         
        // Mendefinisikan kelas turunan (derived class)
        class Crow: Eagle{
        
	  // Do something....  
         
        }

	// Mendefinisikan kelas turunan (derived class)
	class Owl: Eagle{

    	  // Do Something else...
		
         }


	class Program{


	   static void Main(){

            // Membuat objek baru dari kelas Eagle
            Eagle obj1 = new Eagle();
            Console.WriteLine("KELAS EAGLE:");
            // Sifat-sifat yang ada di dalam kelas Eagle (induk)
            obj1.CanEat();
            obj1.CanBreed();
            obj1.CanFly();
           
            // Baris baru
	    Console.WriteLine("\n");
			
            // Membuat objek baru dari kelas Crow
            Crow obj2 = new Crow();
            
            Console.WriteLine("KELAS CROW:");           
 
	    // Crow mewarisi sifat dari Eagle
            obj2.CanEat();
            obj2.CanBreed();
            obj2.CanFly();

	   // Baris baru
	    Console.WriteLine("\n");	

            // Membuat objek baru dari kelas Owl
            Owl obj3 = new Owl();

	    Console.WriteLine("KELAS OWL:");

	    // Owl mewarisi sifat dari Eagle
            obj3.CanEat();
            obj3.CanBreed();
            obj3.CanFly();


          Console.ReadLine();

        }
  }
}

HASIL PROGRAM 1.1
KELAS EAGLE:
Dapat Hidup dengan Makan..
Dapat Berkembang Biak..
Bisa Terbang...


KELAS CROW:
Dapat Hidup dengan Makan..
Dapat Berkembang Biak..
Bisa Terbang...


KELAS OWL:
Dapat Hidup dengan Makan..
Dapat Berkembang Biak..
Bisa Terbang...


Dari program di atas apa yang dapat Anda simpulkan ? Sangat jelas disini, pada saat kita mendefinisikan sebuah kelas baru, hanya dengan mendeklarasikan kelas baru tersebut menjadikannya sebagai kelas turunan dari kelas Eagle maka kelas-kelas yang memiliki hubungan dengan kelas Eagle akan mewarisi sifat atau tingkah laku yang Ada di dalam kelas Eagle tersebut. Inilah yang disebut dengan Inheritance.

Pembahasan yang saya bagikan disini adalah konsep pewarisan nyata dalam bahasa pemrograman berorientasi objek, inilah keuntungan jika Anda bekerja dengan bahasa pemrgraman berorientasi objek.



C# (dibaca: C Sharp) merupakan bahasa pemrograman generasi baru yang mewah, kaya akan fitur, dan dapat digunakan untuk membuat beraneka raga program/aplikasi di berbagai bidang. C# mendukung beberapa paradigma pemrograman: imperatif, deklaratif, fungsional, serta pemrograman berorientasi objek. C# termasuk dalam keluarga C, dan fitur-fiturnya banyak diadopsi dari Java dan C++. C# menggunakan pustaka (library) yang terdapat dalam .NET Framework, kelengkapan di dalam pustaka .NET Framework menjadikan proses pengembangan program/aplikasi menggunakan C# relatif lebih mudah dan cepat jika dibandingkan dengan C++ dan Java.

No comments:

Kami menerima masukan dari anda jika memang ada pembahasan yang keliru dan kami sangat senang jika anda dapat berkontribusi untuk menyempurnakan postingan kami. Anda dapat mengirimkan email ke : hari18.muhammad@gmail.com

Jika postingan ini bermanfaat jangan lupa share postingan ini. Kami sangat merekomendasikan untuk anda yang membutuhkan informasi tentang computer stuff silakan subscribe blog kami dapatkan informasi terupdate dari kami secara gratiss. Terimakasih!

Powered by Blogger.