C # - Özellikler
Propertiessınıfların, yapıların ve arabirimlerin üyeleridir. Bir sınıf veya yapılardaki üye değişkenler veya yöntemler denirFields. Özellikler, alanların bir uzantısıdır ve aynı sözdizimi kullanılarak erişilir. Onlar kullanırlaraccessors özel alanların değerlerinin okunabileceği, yazılabileceği veya değiştirilebileceği.
Özellikler, depolama konumlarını adlandırmaz. Bunun yerine,accessors değerlerini okuyan, yazan veya hesaplayan.
Örneğin, yaş, ad ve kod için özel alanları olan Öğrenci adında bir sınıfımız olsun. Bu alanlara sınıf kapsamı dışından doğrudan erişemeyiz, ancak bu özel alanlara erişmek için özelliklere sahip olabiliriz.
Erişimciler
accessorBir özelliğin, özelliğin alınmasına (okunmasına veya hesaplanmasına) veya ayarlanmasına (yazılmasına) yardımcı olan çalıştırılabilir ifadeler içerir. Erişimci bildirimleri bir alma erişimcisi, bir ayar erişimcisi veya her ikisini birden içerebilir. Örneğin -
// Declare a Code property of type string:
public string Code {
get {
return code;
}
set {
code = value;
}
}
// Declare a Name property of type string:
public string Name {
get {
return name;
}
set {
name = value;
}
}
// Declare a Age property of type int:
public int Age {
get {
return age;
}
set {
age = value;
}
}
Misal
Aşağıdaki örnek, özelliklerin kullanımını gösterir -
using System;
namespace tutorialspoint {
class Student {
private string code = "N.A";
private string name = "not known";
private int age = 0;
// Declare a Code property of type string:
public string Code {
get {
return code;
}
set {
code = value;
}
}
// Declare a Name property of type string:
public string Name {
get {
return name;
}
set {
name = value;
}
}
// Declare a Age property of type int:
public int Age {
get {
return age;
}
set {
age = value;
}
}
public override string ToString() {
return "Code = " + Code +", Name = " + Name + ", Age = " + Age;
}
}
class ExampleDemo {
public static void Main() {
// Create a new Student object:
Student s = new Student();
// Setting code, name and the age of the student
s.Code = "001";
s.Name = "Zara";
s.Age = 9;
Console.WriteLine("Student Info: {0}", s);
//let us increase age
s.Age += 1;
Console.WriteLine("Student Info: {0}", s);
Console.ReadKey();
}
}
}
Yukarıdaki kod derlendiğinde ve yürütüldüğünde, aşağıdaki sonucu verir -
Student Info: Code = 001, Name = Zara, Age = 9
Student Info: Code = 001, Name = Zara, Age = 10
Soyut Özellikler
Soyut bir sınıf, türetilmiş sınıfta uygulanması gereken soyut bir özelliğe sahip olabilir. Aşağıdaki program bunu göstermektedir -
using System;
namespace tutorialspoint {
public abstract class Person {
public abstract string Name {
get;
set;
}
public abstract int Age {
get;
set;
}
}
class Student : Person {
private string code = "N.A";
private string name = "N.A";
private int age = 0;
// Declare a Code property of type string:
public string Code {
get {
return code;
}
set {
code = value;
}
}
// Declare a Name property of type string:
public override string Name {
get {
return name;
}
set {
name = value;
}
}
// Declare a Age property of type int:
public override int Age {
get {
return age;
}
set {
age = value;
}
}
public override string ToString() {
return "Code = " + Code +", Name = " + Name + ", Age = " + Age;
}
}
class ExampleDemo {
public static void Main() {
// Create a new Student object:
Student s = new Student();
// Setting code, name and the age of the student
s.Code = "001";
s.Name = "Zara";
s.Age = 9;
Console.WriteLine("Student Info:- {0}", s);
//let us increase age
s.Age += 1;
Console.WriteLine("Student Info:- {0}", s);
Console.ReadKey();
}
}
}
Yukarıdaki kod derlendiğinde ve yürütüldüğünde, aşağıdaki sonucu verir -
Student Info: Code = 001, Name = Zara, Age = 9
Student Info: Code = 001, Name = Zara, Age = 10