I.                   Pengertian
Pewarisan merupakan suatu teknik membuat class atau objek (kelas turunan/ derived class) dengan mewariskan kelas, sehingga memiliki sifat dan karakteristik yang sama dengan kelas induknya (kelas dasar/base class) Konsep inheritance ini mengadopsi dunia Konsep inheritance ini mengadopsi dunia riil dimana suatu entitas/obyek dapat mempunyai entitas/obyek turunan.  py y Dengan konsep inheritance, sebuah class dapat mempunyai class turunan. Suatu class yang mempunyai class Suatu class yang mempunyai class turunan dinamakan parent class atau base class. Sedangkan class turunan itu sendiri seringkali disebut subclass atau child class. Suatu subclass dapat mewarisi apa-apa yang dipunyai oleh parent class. Karena suatu subclass dapat mewarisi apa-apa Karena suatu subclass dapat mewarisi apaapa yang dipunyai oleh parent class-nya, maka member dari suatu subclass adalah terdiri dari  apa-apa yang ia punyai dan juga apa-apa yang ia warisi dari class parent-nya. Kesimpulannya, boleh dikatakan bahwa suatu subclass adalah tidak lain hanya memperluas (extend) parent class nya (extend) parent class-nya.

Contoh :




Contoh Program Sebelum Menerapkan Fungsi Inheritance :

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

namespace Sebelum_Inheritance
{
    class Virus
    {
        public String nama;
        public int size;
        public String kemampuan;
        public int banyak;

        public void menyerang()
        {
            Console.WriteLine(" {0} menyerang dengan {1} ", this.nama, this.kemampuan);
        }

        public void MemperbanyakDiri()
        {
            Console.WriteLine(" {0} memperbanyak file hingga {1} kali", this.nama, this.banyak * 5);

        }
    }

    class Trojan
    {
        public String nama;
        public int size;
        public String kemampuan;
    }

    class Worm
    {
        public String nama;
        public int size;
        public String kemampuan;

        public void menyerang()
        {
            Console.WriteLine(" {0} menyerang dengan {1} ", this.nama, this.kemampuan);
        }

        public void MenginfeksiRegistry()
        {
            Console.WriteLine(" {0} Menginfeksi Registry", this.nama);
        }

        public void MenghapusNTLDR()
        {
            Console.WriteLine(" {0} Menghapus NTLDR ", this.nama);
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            Virus virus1 = new Virus();
            Trojan trojan1 = new Trojan();
            Worm Worm1 = new Worm();

            //pengaksesan attribut
            virus1.nama = "Sality32.exe";
            virus1.size = 32;
            virus1.kemampuan = "Menghapus File Penting";
            virus1.banyak = 5;
            trojan1.nama = "BackdoorWin32.exe";
            trojan1.size = 14;
            trojan1.kemampuan = "Shutdown setiap 30 menit";
            Worm1.nama = "Brontox.exe";
            Worm1.size = 23;
            Worm1.kemampuan = "Sleep Setiap 15 menit";

            //display
            Console.WriteLine("\n Nama Virus: {0} kapasitas {1} Mb", virus1.nama, virus1.size);
            Console.WriteLine(" Nama Trojan : {0} kapasitas {1} Mb", trojan1.nama, trojan1.size);

            //pengaksesan method
            virus1.menyerang();
            virus1.MemperbanyakDiri();
            Worm1.menyerang();
            Worm1.MenginfeksiRegistry();
            Worm1.MenghapusNTLDR();

            Console.ReadLine();
        }
    }
}




Setelah berlatih dengan program yang diatas, bagaimana menurut anda? Menulis berulang kali method dan attribut yang sama sangatlah melelahkan dan membosankan bukan?? Nah disinilah peranan inheritance diperlukan dengan inheritace/ pewarisan programer hanya perlu membuat satu parent class (Super Class) yang mana attribut dan methodnya akan diturunkan kepada anak-anak kelasnya(Sub Class) nya. Kemudian dari sub class jika ingin menambahkan method baru , programer tinggal menambahkan method yang diperluka n pada class tersebut, tanpa mengubah atau menghapus method yang diturunkan, oleh karena itu struktur diagramnya akan berubah menjadi seperti ini:
Dari bagan diagram diatas programmer perlu membuat empat kelas baru yaitu kelas malware, virus, trojan, worm. Mengapa lebih mudah menggunakan inheritance ? Karena setiap malware (virus/ trojan/ worm) sama sama memiliki attribut  nama, size, dan kemampuan,juga memiliki method Menyerang(). Agar lebih jelasnya mari kita buat kode programnya:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Contoh_Inheritance
{
    class Malware
    {
        public string nama;
        public int size;
        public string kemampuan;

        public void menyerang()
        {
            Console.WriteLine("\n {0} menyerang dengan cara {1}", this.nama, this.kemampuan);
        }
    }

    class Virus : Malware
    {
        public int banyak;

        public void MemperbanyakDiri()
        {
            Console.WriteLine(" {0} memperbanyak diri sebanyak {1} kali", this.nama, this.banyak * 5);

        }
    }

    class Trojan : Malware
    {
        public void menyembunyikanFile()
        {
            Console.WriteLine(" Sembunyikan file yang ada di C:/program File/Microsoft Office");
        }
        public void memblokirCMD()
        {
            Console.WriteLine(" Blokir semua aktifitas yang menggunakan Command Prompt");
        }
    }

    class Worm : Malware
    {
        public void menginfeksiRegistry()
        {
            Console.WriteLine(" {0} menginfeksi registry", this.nama);
        }

        public void menghapusNTLDR()
        {
            Console.WriteLine(" {0} menghapus NT Loader", this.nama);
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            Virus virus1 = new Virus();
            Trojan trojan1 = new Trojan();
            Worm worm1 = new Worm();

            virus1.nama = "Sality32.axe";
            virus1.size = 32;
            virus1.banyak = 10;
            virus1.kemampuan = "Menghapus File Penting";
            virus1.menyerang();
            virus1.MemperbanyakDiri();

            trojan1.nama = "BackdoorWin32.exe";
            trojan1.kemampuan = " Shutdown setiap 30 menit";
            trojan1.menyerang();
            trojan1.menyembunyikanFile();

            worm1.nama = "Brontox.exe";
            worm1.size = 14;
            worm1.kemampuan = "Sleep Setiap 15 menit";
            worm1.menyerang();
            worm1.menginfeksiRegistry();
            worm1.menghapusNTLDR();

            Console.ReadLine();


        }
    }
}




Share To:

EDISON MEDIA

Post A Comment:

0 comments so far,add yours