Платформата Microsoft .NET и
езикът на програмиране C#
Индексатори и свойства
Достъпване на полета на класа
 директен публичен достъп
 get / set методи
 свойства
 обектно ориентирано
Директен публичен достъп
public class Book {
public decimal price;
}
Book book1 = new Book();
book1.price = 12.34M;
Console.WriteLine(book1.price);
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());
Свойства
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);
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));
Автоматично генериране на свойства
public class Book {
public decimal Price {set; get;}
}
Book book1 = new Book();
book1.Price = 12.34M;
Console.WriteLine(book1.Price);
Инициализиране
public class Book {
public decimal Price {set; get;} = 3.14М;
}
Book book1 = new Book();
Console.WriteLine(book1.Price);
Индексатори
Позволяват използването на клас подобно на масив с [ ]
Пример за индексатор
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");
}
}
}
}
Пример за индексатор
Bookshelf bookshelf1 = new Bookshelf();
bookshelf1[2] = new Book(12.34M);
bookshelf1[12] = new Book(22.34M);
Console.WriteLine(bookshelf1[2].CalculateTotalPrice(1));

More Related Content

PPTX
.NET/C#_4
PPTX
.NET/C#_12
PPTX
.NET/C#_10
PPTX
Курс по програмиране на C# 2013 - 9. Делегати. Събития. Ламбда функции
PDF
Oop lab-10шаблонни
PDF
C++ OpenFest 2015
PPTX
.NET/C#_19
PPTX
.NET/C#_3
.NET/C#_4
.NET/C#_12
.NET/C#_10
Курс по програмиране на C# 2013 - 9. Делегати. Събития. Ламбда функции
Oop lab-10шаблонни
C++ OpenFest 2015
.NET/C#_19
.NET/C#_3

Viewers also liked (14)

PPTX
.NET/C#_9
PPTX
.NET/C#_13
PPTX
.NET/C#_11
PPTX
.NET/C#_1
PPTX
.NET/C#_15
PPTX
.NET/C#_2
PPTX
.NET/C#_16
PPTX
.NET/C#_6
PPTX
.NET/C#_20
PPTX
.NET/C#_18
PPTX
.NET/C#_17
PPTX
.NET/C#_7
PPTX
.NET/C#_5
PPTX
.NET/C#_14
.NET/C#_9
.NET/C#_13
.NET/C#_11
.NET/C#_1
.NET/C#_15
.NET/C#_2
.NET/C#_16
.NET/C#_6
.NET/C#_20
.NET/C#_18
.NET/C#_17
.NET/C#_7
.NET/C#_5
.NET/C#_14
Ad

Similar to .NET/C#_8 (18)

PPTX
Училищен курс по програмиране на C# (2013/2014), занятие №10
PPTX
Курс по програмиране за напреднали (2012) - 1. Обектно-ориентирано програмира...
PPTX
Курс по програмиране на C# 2013 - 7. Свойства. Индексатори. Наследяване. Изкл...
PPTX
Училищен курс по програмиране на C# (2013/2014), занятие №12
PPTX
Училищен курс по програмиране на C# (2013/2014), занятие №7
PPTX
Курс по програмиране на C# 2013 - 6. Обектно-ориентирано програмиране. Класов...
PPT
JDK 1.5 New Features
PPT
Svetlin Nakov - .NET Framework Overview
PPT
Nakov - .NET Framework Overview + Security
PPTX
Училищен курс по програмиране на C# (2013/2014), занятие №1
PPTX
Училищен курс по програмиране на C# (2013/2014), занятие №4
PPTX
Училищен курс по програмиране на C# (2013/2014), занятие №8
PPTX
Курс по програмиране на C# 2013 - 8. Полиморфизъм. Абстракция. Шаблони. Вград...
PPTX
Курс по програмиране на C# 2013 - 1. Въведение в компютърното програмиране и C#
PDF
Svetlin Nakov - Programming for .NET Framework Book, Volume 2
PPTX
Училищен курс по програмиране на C# (2013/2014), занятие №11
PPTX
Училищен курс по програмиране на C# (2013/2014), занятие №3
PPTX
Курс по програмиране за напреднали (2012) - 5. Windows Presentation Foundation
Училищен курс по програмиране на C# (2013/2014), занятие №10
Курс по програмиране за напреднали (2012) - 1. Обектно-ориентирано програмира...
Курс по програмиране на C# 2013 - 7. Свойства. Индексатори. Наследяване. Изкл...
Училищен курс по програмиране на C# (2013/2014), занятие №12
Училищен курс по програмиране на C# (2013/2014), занятие №7
Курс по програмиране на C# 2013 - 6. Обектно-ориентирано програмиране. Класов...
JDK 1.5 New Features
Svetlin Nakov - .NET Framework Overview
Nakov - .NET Framework Overview + Security
Училищен курс по програмиране на C# (2013/2014), занятие №1
Училищен курс по програмиране на C# (2013/2014), занятие №4
Училищен курс по програмиране на C# (2013/2014), занятие №8
Курс по програмиране на C# 2013 - 8. Полиморфизъм. Абстракция. Шаблони. Вград...
Курс по програмиране на C# 2013 - 1. Въведение в компютърното програмиране и C#
Svetlin Nakov - Programming for .NET Framework Book, Volume 2
Училищен курс по програмиране на C# (2013/2014), занятие №11
Училищен курс по програмиране на C# (2013/2014), занятие №3
Курс по програмиране за напреднали (2012) - 5. Windows Presentation Foundation
Ad

More from RaynaITSTEP (20)

PPTX
Project management professional
PDF
Project management it step
PPT
Lean startup
PPTX
РАБОТА С ОБЕКТА „ЗАЯВКА“ (2)
PPTX
PPTX
PPTX
PDF
monitoring and diagnostics
PDF
network security
PDF
networking
PDF
data security
PDF
configuring disk sand drivers
PDF
boot process
PDF
install update and migration to windows 10
PDF
virtualization
PPTX
Фотошоп за деца_4
PDF
Структурни кабелни системи
PDF
Android introduction
PPTX
Adobe Illustrator - Урок 2
PPTX
Adobe Illustrator - Обобщение
Project management professional
Project management it step
Lean startup
РАБОТА С ОБЕКТА „ЗАЯВКА“ (2)
monitoring and diagnostics
network security
networking
data security
configuring disk sand drivers
boot process
install update and migration to windows 10
virtualization
Фотошоп за деца_4
Структурни кабелни системи
Android introduction
Adobe Illustrator - Урок 2
Adobe Illustrator - Обобщение

.NET/C#_8