Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Özellikler bir arabirimde bildirilebilir. Aşağıdaki örnek bir arayüz özelliği erişimcisini bildirir:
public interface ISampleInterface
{
// Property declaration:
string Name
{
get;
set;
}
}
Arabirim özelliklerinin genellikle gövdesi yoktur. Erişimciler, özelliğin okunabilir-yazılabilir mi, salt okunur mu yoksa yalnızca yazılabilir mi olduğunu belirtir. Sınıflarda ve yapılarda 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, arabirimde IEmployee bir okuma-yazma ö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 arabirimi referans alan özelliğin tam nitelikli adını kullanabilirsiniz. Örneğin:
string IEmployee.Name
{
get { return "Employee Name"; }
set { }
}
Yukarıdaki örnekte Açık Arabirim Uygulaması gösterilmektedir. Örneğin, Employee sınıfı, iki arabirim olan ICitizen ve IEmployee arabirimlerini uyguluyorsa ve her iki arabirimde de Name özelliği varsa, açık arabirim üye uygulaması gereklidir. Yani, aşağıdaki özellik bildirimi:
string IEmployee.Name
{
get { return "Employee Name"; }
set { }
}
Name özelliğini IEmployee arabirimi üzerinde uygular, aşağıdaki bildirim sırasında:
string ICitizen.Name
{
get { return "Citizen Name"; }
set { }
}
Name özelliğini ICitizen arabiriminde 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: {e1.Counter}");
System.Console.WriteLine($"Employee name: {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