Front Advertisement

C# Tutorial - Kata Kunci base

http://www.xcodeplus.net/2017/11/csharp-tutorial-kata-kunci-base.html



Kata Kunci base

C# menyediakan kata kunci base, yang mewakili referensi ke objek dari kelas induk. Kata kunci base digunakan untuk memanggil constructor atau anggota (data maupun metode) milik kelas dasar dari kelas turunan.

Kata kunci base digunakan untuk mengakses anggota kelas dasar (induk) dari kelas turunan:
  1. Memanggil sebuah metode dari kelas dasar yang telah diganti dengan metode lain.
  2. Menentukan constructor kelas dasar mana yang harus dipanggil ketika instansiasi kelas turunan dibuat.
Akses ke kelas dasar hanya diizinkan untuk mengakses constructor, instansiasi metode, atau instansiasi property accessor.

Catatan
Akan mengakibatkan kesalahan jika menggunakan kata kunci base dari dalam metode statis.

Menggunakan base untuk Memanggil Constructor Kelas Dasar

Constructor dari kelas dasar dapat dipanggil dari constructor kelas turunan menggunakan kata kunci base. Bentuk umum penggunaannya adalah sebagai berikut:

class NamaKelasDasar{
 ...
        // Default constructor
        public NamaKelasDasar(daftar-parameter){
           // badan constructor kelas dasar
     }
  ...
}
class NamaKelasTurunan: NamaKelasDasar{
 ...
    // Default constructor
    public NamKelasTurunan(daftar-parameter) : base (daftar-parameter){
       // bada constructor kelas turunan 
  }
}


Daftar parameter yang dilewatkan ke dalam pemanggilan base harus sesuai dengan daftar parameter yang terdapat pada kelas dasar.

PROGRAM 1.1
using System;

public class KelasDasar
{
    int num;

    // Constructor Tanpa Parameter
    public KelasDasar()
    {
        Console.WriteLine("KelasDasar.KelasDasar()");
    }

    // Constructor dengan Satu Parameter
    public KelasDasar(int i)
    {
        num = i;
        Console.WriteLine("KelasDasar.KelasDasar(int i)");
    }

    public int GetNum()
    {
        return num;
    }
}

public class KelasTurunan : KelasDasar
{
    // Constructor ini akan memanggil BaseClass.BaseClass()
    public KelasTurunan() : base()
    {
    }

    // Constructor ini akan memanggil BaseClass.BaseClass(int i)
    public KelasTurunan(int i) : base(i)
    {
    }

    static void Main()
    {
        KelasTurunan md1 = new KelasTurunan();
        KelasTurunan md2 = new KelasTurunan(1);
    }
}


HASIL PROGRAM 1.1
KelasDasar.KelasDasar()
KelasDasar.KelasDasar(int i)


Dalam kelas KelasTurunan pada program di atas, kita melakukan pemanggilan terhadap constructor kelas KelasDasar menggunakan kata kunci base. Ketika kita ingin memanggil constructor kelas dasar yang tidak memiliki parameter, kita pun tidak perlu menyertakan parameter ke dalam base. Namun, jika constructor yang ingin dipanggil adalah constructor yang memiliki parameter maka kita perlu menyertakan parameter yang sesuai ke dalam base.


Menggunakan Kata Kunci base untuk Mengakses Metode Kelas Dasar

Selain untuk memanggil constructor kelas dasar, kata kunci base juga dapat digunakan untuk mengakses metode miliki kelas dasar yang telah tertimpa (disembunyikan) oleh kelas turunan. Sebagai contoh, jika kita mendeklarasikan data baru di dalam kelas turunan yang namanya sama dengan data dari kelas dasar, maka data milik kelas dasar akan tertimpa oleh data milik kelas turunan. 

Dalam kasus tersebut pemanggilan data milik kelas dasar dari kelas turunan melalui namanya saja mejadi tidak mungkin karena yang akan dipanggil selalu data milik kelas turunan. Dalam situasi semacam ini gunakanlah kata kunci base.

Bentuk umum penggunaan kata kunci base untuk mengakses data adalah sebagai berikut:

base.NamaData

Berikut ini contoh kode program yang akan menunjukan penggunaan kata kunci base untuk mengakses anggota kelas dasar milik kelas dasar.

PROGRAM 1.2
using System;

public class KelasDasar
{
    protected string data;

    // Constructor
    public KelasDasar()
    {
        data = "My Data";
    }
}

public class KelasTurunan : KelasDasar
{

   void CetakData(){
     Console.WriteLine("Data : {0}", base.data); 
   }

    static void Main()
    {
        
        KelasTurunan md2 = new KelasTurunan();
 md2.CetakData();
    }
}


HASIL PROGRAM 1.2
My Data


Agar Anda dapat lebih memahami penggunaan dari kata kunci base dalam mengakses anggota dari kelas dasar, berikut ini contoh program yang akan menunjukan penggunaan kata kunci base lainnya.

PROGRAM 1.3
using System;

public class KelasDasar
{
    protected string Data;

    // Constructor
    public KelasDasar(string data)
    {
        Data = data;
    }
}

public class KelasTurunan : KelasDasar
{
   // Akan menimpa Data KelasDasar
   private string Data;
  
   public KelasTurunan(string data1, string data2) : base(data1){
   // Akan mengisi KelasTurunan.Data
      Data = data2;
   }   

   void CetakData(){
     Console.WriteLine("Data.KelasDasar : {0}", base.Data);
     Console.WriteLine("Data.KelasTurunan : {0}", this.Data); 
   }

    static void Main()
    {
        
        KelasTurunan obj = new KelasTurunan("My Data I","My Data II");
 obj.CetakData();
    }
}


HASIL PROGRAM 1.3
Data.KelasDasar : My Data I
Data.KelasTurunan : My Data II

Saat program dikompilasi, compiler C# akan memberikan pesan peringatan karena kita mencoba untuk mendeklarasikan data dalam kelas turunan yang namanya sama dengan nama data di dalam kelas dasar. Namun, jangan khawatir program akan tetap dapat Anda jalankan.






Menggunakan Kata Kunci base untuk Mengakses Anggota Kelas Dasar

Selain untuk mengakses data, kata kunci base juga dapat digunakan untuk mengakses metode yang terdapat di dalam kelas dasar. Bentuk umum penggunaan kata kunci base untuk mengakses metode adalah sebagai berikut:

base.NamaMetode(daftar-parameter)


Progam berikut ini akan menunjukan bagaimana Anda melakukan hal tersebut.


CONTOH:
Dalam contoh ini, kita membuat kelas dasar yang bernama Person, dan untuk kelas turunan yaitu Employee keduanya memiliki metode GetInfo. Dengan menggunakan kata kunci base, Anda bisa memanggil metode GetInfo dari kelas dasar (Person) dari kelas turunan.


PROGRAM 1.4
using System;

public class Person
{
    protected string nik = "121630690001";
    protected string name = "Al Khwarizmi";

    public virtual void GetInfo()
    {
        Console.WriteLine("Name: {0}", name);
        Console.WriteLine("NIK: {0}", nik);
    }
}
class Employee : Person
{
    public string id = "12163069ABC";
    public override void GetInfo()
    {
        // Memanggil metode GetInfo Kelas Dasar
        base.GetInfo();
        Console.WriteLine("Employee ID: {0}", id);
    }
}

class TestClass
{
    static void Main()
    {
        Employee E = new Employee();
        E.GetInfo();

        Console.ReadLine();
    }
}


HASIL PROGRAM 1.4
Name: Al Khwarizmi
NIK: 121630690001
Employee ID: 12163069ABC



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.