Классы и методы в C#
Классы
Модификаторы доступа к классам
Объявление классов
Члены класса
Модификаторы доступа к членам класса
Модификаторы доступа к членам класса
Модификаторы доступа к членам класса
Поля класса
Создание объектов
Доступ к членам объекта
Константы
Методы
Методы
Свойства
Свойства
Свойства
Свойства
Вложенные типы
Вложенные типы
События
События
196.50K
Category: programmingprogramming

Классы и методы в C#

1. Классы и методы в C#

2. Классы

Класс – это абстрактный тип данных, т.е. это некоторый
шаблон, на основе которого будут создаваться его
экземпляры – объекты.
В С# классы объявляются с помощью ключевого
слова class:
[модификатор доступа] class [имя_класса]
{
//тело класса
}

3. Модификаторы доступа к классам

- public – доступ к классу возможен из любого места
одной сборки либо из другой сборки, на которую есть
ссылка;
- internal – доступ к классу возможен только из сборки, в
которой он объявлен.
Если при объявлении класса не указать модификатор
доступа, то по умолчанию будет применяться режим
internal.
Сборка – это готовый функциональный модуль в виде exe
либо dll файла (файлов), который содержит
скомпилированный код для .NET.

4. Объявление классов

Класс следует объявлять внутри пространства
имен namespace, но за пределами другого класса
Пример:
namespace HelloWorld
{
class Student // класс будет internal
{
//тело класса
}
public class Pupil
{
//тело класса
}
}

5. Члены класса

- поля;
- константы;
- свойства;
- конструкторы;
- методы;
- события;
- операторы;
- индексаторы;
- вложенные типы.
Все члены класса также имеют свой уровень доступа.

6. Модификаторы доступа к членам класса

- public – доступ к члену возможен из любого места одной
сборки, либо из другой сборки, на которую есть ссылка;
- protected – доступ к члену возможен только внутри класса,
либо в классе-наследнике;
- internal – доступ к члену возможен только из сборки, в
которой он объявлен;
- private – доступ к члену возможен только внутри класса;
- protected internal - доступ к члену возможен из одной сборки,
либо из класса-наследника другой сборки.

7. Модификаторы доступа к членам класса

Не указав модификатор доступа для члена, по умолчанию
ему будет присвоен режим private.
При помощи модификаторов доступа в С# реализуется один
из базовых принципов ООП – инкапсуляция.
Инкапсуляция - это использование модификаторов
доступа с целью сокрытия частей программного кода от
конечного пользователя.

8. Модификаторы доступа к членам класса

Классы и члены класса можно сделать статическими с
помощью служебного слова static.
Пример:
public static class Class1
{
}
При использовании статического класса не обязательно
создавать объект класса для обращения к классу и его
членам.

9. Поля класса

Поле – это переменная, объявленная внутри класса. Для
получения доступа к полям следует использовать свойства
или методы.
Пример:
class Student
{
private string firstName;
private string lastName;
private int age;
public string group; // не рекомендуется использовать public
для поля
}

10. Создание объектов

После объявления класса можно создавать объекты при
помощи ключевого слова new и имени класса:
namespace HelloWorld
{
class Student
{
private string
firstName;
private string
lastName;
private int age;
public string
group;
}
{
static void
Main(string[] args)
{
Student student1
= new Student();
//создание объекта
student1 класса Student
Student student2
= new Student();
}
}

11. Доступ к членам объекта

Доступ осуществляется при помощи оператора точка «.» :
static void Main(string[] args)
{
Student student1 = new Student();
Student student2 = new Student();
student1.group = "Group1";
student2.group = "Group2";
Console.WriteLine(student1.group); // выводит "Group1"
Console.Write(student2.group);
Console.ReadKey();
}

12.

Рассмотрим пример:
namespace HelloWorld
{
class Student
{
private string firstName;
private string lastName;
private int age;
public string group;
}
class Program
{
static void Main(string[] args)
{
Student student1 = new Student();
student1.firstName= "Nikolay"; //ошибка, нет доступа к
полю firstName. }

13. Константы

Константы - члены класса не отличаются от простых
констант.
Константа – это переменная, значений которой нельзя
изменить.
Константа объявляется с помощью ключевого слова const.
Пример:
class Math
{
private const double Pi = 3.14;
}

14. Методы

Метод – это небольшая подпрограмма, которая выполняет, в
идеале, только одну функцию. Методы позволяют сократить
объем кода.
Различают статические и простые методы.
Статический метод – это метод, который не имеет доступа к
полям объекта, и для вызова такого метода не нужно создавать
экземпляр (объект) класса, в котором он объявлен.
Простой метод – это метод, который имеет доступ к данным
объекта, и его вызов выполняется через объект.

15. Методы

[модификаторы] <тип_возврата> ИмяМетода
([параметры])
{ // Тело метода }
Пример:
1) public double Meth1(double a)
{…
return(Math.Pow(a,2))
}
2)
private void Meth2()
{…
}

16. Свойства

Свойства класса - это член класса, который
предоставляет удобный механизм доступа к полю класса
(чтение поля и запись).
При использовании свойства, мы обращаемся к нему, как к
полю класса, но на самом деле компилятор преобразовывает
это обращение к вызову соответствующего неявного метода.
Такой метод называется аксессор (accessor).

17. Свойства

Существует два аксессора:
get (для получения данных из поля) и
set (для записи).
Объявление простого свойства имеет следующую
структуру:
<тип> <имя>
{
get
{ // код аксессора для чтения из поля }
set
{ // код аксессора для записи в поле }
}

18. Свойства

Пример:
public class Date
{ private int month = 7;
Public int Month
{
get {
return month; }
set {
if ((value > 0) && (value < 13)) { month
= value; } }
}
}

19. Свойства

Метод доступа get должен заканчиваться оператором
return или throw.
В методе доступа set используется неявный
параметр value, тип которого соответствует типу свойства.

20. Вложенные типы

Тип, определенный внутри класса, называется вложенным
типом.
Пример:
class Container
{
class Nested
{
Nested() { }
}
}

21. Вложенные типы

Вложенные типы по умолчанию являются private, но могут
быть также public, protected internal, protected или internal.
Для создания нового экземпляра вложенного класса
следует использовать запись:
Container.Nested a= new Container.Nested();

22. События

Прежде чем рассмотреть события, необходимо
ознакомиться с понятием делегат.
Делегат – это объект, указывающий на другой метод (или
список методов) приложения, который может быть вызван
позднее.
Тип делегата объявляется с помощью ключевого
слова delegate:
delegate <возвращаемый_тип> имя
(список_параметров);

23. События

Событие - это ситуация, при возникновении которой
произойдет действие или несколько действий.
Событие задается ключевым словом event:
public event <НазваниеДелегата> <НазваниеСобытия>;
Для запуска события используется запись:
<НазваниеСобытия> ()
English     Русский Rules