3. Достъпване на полета на класа
директен публичен достъп
get / set методи
свойства
обектно ориентирано
4. Директен публичен достъп
public class Book {
public decimal price;
}
Book book1 = new Book();
book1.price = 12.34M;
Console.WriteLine(book1.price);
5. get / set методи
public class Book {
private decimal price;
public void SetPrice(decimal price) {
this.price = price;
}
public decimal GetPrice() {
return price;
}
}
Book book1 = new Book();
book1.SetPrice(12.34M);
Console.WriteLine(book1.GetPrice());
6. Свойства
public class Book {
private decimal price;
public decimal Price {
set {
this.price = price;
}
get {
return price;
}
}
}
Book book1 = new Book();
book1.Price = 12.34M;
Console.WriteLine(book1.Price);
7. Oбектно ориентирано
public class Book {
private decimal price;
public Book(decimal price) {
this.price = price;
}
public decimal CalculateTotalPrice(int books) {
return price * books;
}
}
Book book1 = new Book(12.34M);
Console.WriteLine(book1.CalculateTotalPrice(1));
8. Автоматично генериране на свойства
public class Book {
public decimal Price {set; get;}
}
Book book1 = new Book();
book1.Price = 12.34M;
Console.WriteLine(book1.Price);
9. Инициализиране
public class Book {
public decimal Price {set; get;} = 3.14М;
}
Book book1 = new Book();
Console.WriteLine(book1.Price);
11. Пример за индексатор
public class Bookshelf {
private Book[] books = new Book[10];
public Book this[int number] {
get {
if (number >= 0 && number < books.Length) {
return books[number];
}
throw new ArgumentException(“Not a valid bookshelf position");
}
set {
if (number >= 0 && number < books.Length) {
books[number] = value;
} else {
throw new ArgumentException(“Not a valid bookshelf position");
}
}
}
}
12. Пример за индексатор
Bookshelf bookshelf1 = new Bookshelf();
bookshelf1[2] = new Book(12.34M);
bookshelf1[12] = new Book(22.34M);
Console.WriteLine(bookshelf1[2].CalculateTotalPrice(1));