Объявление класса
Модификаторы доступа
Свойства поля
Автоматически реализуемые свойства
Конструктор
305.00K
Category: programmingprogramming

Объявление класса. Уровень доступа

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

Классы объявляются с помощью ключевого
слова class:
[уровень доступа] class <имя класса>
{
// Описание полей
// Описание методов
// Описание прочих членов класса
}
1

2.

Уровней доступа для классов два:
1) public
2) internal
Для членов класса уровней доступа пять:
1) public
2) protected
3) internal
4) Private
5) protected internal
2

3.

Общая форма описания Поля
<уровень доступа> <тип переменной> <имя
переменной>;
Общая форма описания Метода
<уровень доступа> <возращаемый тип><имя
метода > (<список
параметров>){тело_метода}
3

4.

Пример оъявления класса
class myClass
{
public string поле;//поля определяет состояние
//объекта
public void метод()//методы поведение
//будущего объекта
{
Console.WriteLine(поле);
}
}
4

5.

Создание класса и его экземпляра
class МойКласс
{
public string поле;//поля определяет состояние объекта
public void Метод() //методы поведение будущего объекта
{ Console.WriteLine(поле); }
}
class Program
{
static void Main(string[] args)
{
//Создаём экземпляр класса «МойКласс» с именем «пример»
МойКласс пример = new МойКласс();
пример.поле = "Привет Мир";
пример.Метод();
}
}
5

6.

class МойКласс
{public void Метод()
{
Console.WriteLine("Вызван метод класса МойКласс в классе
МойКласс1");
}
}
class МойКласс1
{
public void Метод(МойКласс Мой)
{
Мой.Метод();
}
}
static void Main(string[] args)
{
МойКласс Мой = new МойКласс();
МойКласс1 Мой1 = new МойКласс1();
Мой1.Метод(Мой);
Console.ReadLine();
}
6
}

7. Модификаторы доступа

class МойКласс
{
private string поле = null;
public void SetПоле(string значение) //метод мутатор
{
поле = значение;
}
public string GetПоле() //метод аксессор
{return поле;
}
}
7

8.

static void Main(string[] args)
{
МойКласс пример = new МойКласс();
//метод Мутатор
пример.SetПоле("Привет Мир");
//метод аксессор
string строка = пример.GetПоле();
Console.WriteLine(строка);
}
8

9.

class МойКласс
{
private string поле = null;
public void SetПоле(string значение)
{
if (значение != "Война")
поле = значение;
}
public string GetПоле()
{
return поле.ToUpper();
}
}
9

10.

static void Main(string[] args)
{
МойКласс Мой = new МойКласс();
Мой.SetПоле("добро");
Console.WriteLine(Мой.GetПоле());
Console.ReadLine();
}
10

11. Свойства поля

class МойКласс
{
private string поле = null;
public string Поле
{
set// public void SetПоле(string значение)
{ поле = value;}
get// public string GetПоле()
{ return поле; }
}
11

12.

static void Main(string[] args)
{
МойКласс пример = new МойКласс();
пример.Поле="Привет Мир";
string строка = пример.Поле;
Console.WriteLine(строка);
Console.ReadLine();
}
12

13.

class МойКласс
{
private string место_рождения = null;
private string место_прожевания = null;
//свойство только для записи
public string Место_прожевания
{
set {Место_прожевания = value; }
}
//свойство только для чтения
public string Место_рождения
{
get { return Место_рождения; }
}
}
13

14. Автоматически реализуемые свойства

class МойКласс
{
public int Зарплата {set;get;}
}
static void Main(string[] args)
{
МойКласс Мой = new МойКласс
{
Зарплата=3000
};
Console.WriteLine("Ваша зарплата составляет " + Мой.Зарплата +
"Р");
Console.ReadLine();
}
}
14

15.

class МойКласс
{int зарплата;
public int Зарплата
{
set
{
if (value <= 3000) зарплата = 3001;
else зарплата = value;
}
get { return зарплата; }
}
}
static void Main(string[] args)
{
МойКласс Мой = new МойКласс
{ Зарплата = 3000
};
Console.WriteLine("Ваша зарплата составляет " + Мой.Зарплата +
"Р");
Console.ReadLine();
}
15
}

16. Конструктор

• В ООП конструктор класса это специальный блок
инструкций, вызываемый при создании объекта.
• Конструкторы позволяют программисту задавать
значения по умолчанию, ограничивать число
установок и писать код, который является гибким и
удобным для чтения
• Если не предоставить конструктор для объекта, C#
создаст конструктор по умолчанию, который
создаст экземпляр объекта и задаст переменнымчленам значения по умолчанию, перечисленные
в таблице значений по умолчанию.
16

17.

Конструкторы бывают:
• По умолчанию
class МойКласс() {}
• Пользовательские
class МойКласс(int a) {}
Имя конструктора всегда совпадает с именем
класса
Конструктор не имеет возвращаемых
значений.
17

18.

class МойКласс
{
private string место_рождения, место_прожевания;
public string Место_прожевания { set; get;}
public string Место_рождения { set; get; }
public МойКласс()
{
Console.WriteLine("Конструктор по умолчанию");
}
public МойКласс(string место_прожевания, string
место_рождения)
{
Console.WriteLine("Пользовательский конструктор");
this.место_прожевания = место_прожевания;
this.место_рождения = место_рождения;
}
}
18

19.

static void Main(string[] args)
{
МойКласс пример = new МойКласс();
Сonsole.WriteLine(пример.Место_прожевания);
Console.WriteLine(пример.Место_рождения);
МойКласс пример1 = new МойКласс("Тверь","Торжок");
Console.WriteLine(пример1.Место_прожевания);
Console.WriteLine(пример1.Место_рождения);
}
19

20.

class my_class
{ int x, y;
string name;
public int X
{get { return x; }}
public int Y
{get { return y; }}
public my_class(int x, int y)
{
this.x = x;
this.y = y;
Console.WriteLine("x=" + x + " y=" + y);
Console.WriteLine(new string('-',40));
}
public my_class(string name)
: this(300, 400)
{
this.name = name;
Console.WriteLine(name);
}
}
20

21.

static void Main(string[] args)
{
my_class my_class1 = new my_class("Имя");
Console.ReadLine();
}
}
21
English     Русский Rules