Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
base Gunakan kata kunci untuk mengakses anggota kelas dasar dari dalam kelas turunan. Gunakan jika Anda ingin:
- Panggil metode pada kelas dasar yang ditimpa oleh metode lain.
- Tentukan konstruktor kelas dasar mana yang akan dipanggil saat membuat instans kelas turunan.
Anda hanya dapat mengakses kelas dasar di konstruktor, dalam metode instans, dan di aksesor properti instans.
base Menggunakan kata kunci dari dalam metode statis menghasilkan kesalahan.
Referensi bahasa C# mendokumentasikan versi bahasa C# yang paling baru dirilis. Ini juga berisi dokumentasi awal untuk fitur dalam pratinjau publik untuk rilis bahasa yang akan datang.
Dokumentasi mengidentifikasi fitur apa pun yang pertama kali diperkenalkan dalam tiga versi terakhir bahasa atau dalam pratinjau publik saat ini.
Petunjuk / Saran
Untuk menemukan kapan fitur pertama kali diperkenalkan di C#, lihat artikel tentang riwayat versi bahasa C#.
Kelas dasar yang Anda akses adalah kelas dasar yang Anda tentukan dalam deklarasi kelas. Misalnya, jika Anda menentukan class ClassB : ClassA, Anda mengakses anggota ClassA dari ClassB, terlepas dari kelas dasar ClassA.
Dalam contoh ini, kelas dasar dan kelas PersonEmployee turunan memiliki metode bernama GetInfo. Dengan menggunakan base kata kunci, Anda dapat memanggil GetInfo metode kelas dasar dari dalam kelas turunan.
public class Person
{
protected string ssn = "444-55-6666";
protected string name = "John L. Malgraine";
public virtual void GetInfo()
{
Console.WriteLine($"Name: {name}");
Console.WriteLine($"SSN: {ssn}");
}
}
class Employee : Person
{
public readonly string id = "ABC567EFG";
public override void GetInfo()
{
// Calling the base class GetInfo method:
base.GetInfo();
Console.WriteLine($"Employee ID: {id}");
}
}
class TestClass
{
static void Main()
{
Employee E = new Employee();
E.GetInfo();
}
}
/*
Output
Name: John L. Malgraine
SSN: 444-55-6666
Employee ID: ABC567EFG
*/
Contoh ini menunjukkan cara menentukan konstruktor kelas dasar untuk dipanggil saat membuat instans kelas turunan.
public class BaseClass
{
private int num;
public BaseClass() =>
Console.WriteLine("in BaseClass()");
public BaseClass(int i)
{
num = i;
Console.WriteLine("in BaseClass(int i)");
}
public int GetNum() => num;
}
public class DerivedClass : BaseClass
{
// This constructor will call BaseClass.BaseClass()
public DerivedClass() : base() { }
// This constructor will call BaseClass.BaseClass(int i)
public DerivedClass(int i) : base(i) { }
static void Main()
{
DerivedClass md = new DerivedClass();
DerivedClass md1 = new DerivedClass(1);
}
}
/*
Output:
in BaseClass()
in BaseClass(int i)
*/
Untuk contoh selengkapnya, lihat baru, virtual, dan ambil alih.
Spesifikasi bahasa C#
Untuk informasi selengkapnya, lihat Spesifikasi Bahasa C#. Spesifikasi bahasa adalah sumber definitif untuk sintaks dan penggunaan C#.