Arabirim Özellikleri (C# Programlama Kılavuzu)
Özellikler bir arabirimde bildirilebilir. Aşağıdaki örnek bir arabirim özelliği erişimcisi bildirir:
public interface ISampleInterface
{
// Property declaration:
string Name
{
get;
set;
}
}
Arabirim özelliklerinin genellikle gövdesi yoktur. Erişimciler özelliğin salt okunur mu yoksa salt okunur mu olduğunu belirtir. Sınıfların ve yapıların aksine, bir gövde olmadan erişimcileri bildirmek otomatik olarak uygulanan bir özellik bildirmez. Arabirim, özellikler de dahil olmak üzere üyeler için varsayılan bir uygulama tanımlayabilir. Arabirimler örnek veri alanlarını tanımlayamadığından arabirimdeki bir özellik için varsayılan bir uygulama tanımlamak nadirdir.
Örnek
Bu örnekte, arabiriminin IEmployee
bir read-write özelliği Name
ve salt okunur özelliği Counter
vardır. sınıfı Employee
arabirimini IEmployee
uygular ve bu iki özelliği kullanır. Program, yeni bir çalışanın adını ve geçerli çalışan sayısını okur ve çalışan adını ve hesaplanan çalışan numarasını görüntüler.
Üyenin bildirildiği arabirime başvuran özelliğin tam adını kullanabilirsiniz. Örneğin:
string IEmployee.Name
{
get { return "Employee Name"; }
set { }
}
Yukarıdaki örnekte Açık Arabirim Uygulaması gösterilmektedir. Örneğin, sınıfı Employee
iki arabirim uyguluyorsa ve IEmployee
her iki arabirim ICitizen
de özelliğine Name
sahipse, açık arabirim üyesi uygulaması gereklidir. Yani, aşağıdaki özellik bildirimi:
string IEmployee.Name
{
get { return "Employee Name"; }
set { }
}
Name
Aşağıdaki bildirim sırasında arabiriminde IEmployee
özelliğini uygular:
string ICitizen.Name
{
get { return "Citizen Name"; }
set { }
}
arabiriminde Name
ICitizen
özelliğini uygular.
interface IEmployee
{
string Name
{
get;
set;
}
int Counter
{
get;
}
}
public class Employee : IEmployee
{
public static int numberOfEmployees;
private string _name;
public string Name // read-write instance property
{
get => _name;
set => _name = value;
}
private int _counter;
public int Counter // read-only instance property
{
get => _counter;
}
// constructor
public Employee() => _counter = ++numberOfEmployees;
}
System.Console.Write("Enter number of employees: ");
Employee.numberOfEmployees = int.Parse(System.Console.ReadLine());
Employee e1 = new Employee();
System.Console.Write("Enter the name of the new employee: ");
e1.Name = System.Console.ReadLine();
System.Console.WriteLine("The employee information:");
System.Console.WriteLine("Employee number: {0}", e1.Counter);
System.Console.WriteLine("Employee name: {0}", e1.Name);
Örnek çıktı
Enter number of employees: 210
Enter the name of the new employee: Hazem Abolrous
The employee information:
Employee number: 211
Employee name: Hazem Abolrous