55.92K
Category: programmingprogramming

Классы, объекты, методы_28cd2a62-2cdc-4098-b784-303c65d748bd

1.

Автор презентации
Классы, объекты, методы

2.

Классы
Класс в языке C# объявляется с помощью ключевого слова class перед ним могут стоять несколько
модификаторов, после располагается имя класса.
class Building
{
}
Внутри себя, класс может содержать методы, поля и свойства. Методы похожи на функции из
языков группы структурного программирования. Фактически они определяют то, как можно работать с
данным классом или объектами класса. Поля – это переменные, связанные с данным классом,
а свойства – это конструкции специального вида, которые упрощают работу с полями (в первом
приближении такого понимания будет достаточно).
class DemoClass
{
// Поле класса
int field = 0;
// Свойство класса
public int Property {get;set;}
// Метод класса
public void Method()
{
Console.WriteLine("Method");
}
}

3.

Объект класса
Объект класса создается также как переменная любого, уже известного вам по предыдущим урокам, типа
данных. Напомним, что класс является типом данных, который мы можем самостоятельно объявить. Все
встроенные типы являются определенными классами, например, переменная типа int – это объект
класса System.Int32.
Создадим объект класса DemoClass:
// Создание объекта класса DemoClass
DemoClass demo = new DemoClass();
// Вызов метода Method объекта demo
demo.Method();
С методами встроенных типов мы уже встречались ранее, например, метод поиска элемента в
строке, или преобразование строки в число и т.п.

4.

Инициализация объектов класса
Инициализация объекта класса производится с помощью ключевого слова new. Создадим объект
класса DemoClass:
DemoClass demo = new DemoClass();
Если у класса есть несколько конструкторов, то при инициализации можно выбрать один из существующих:
DemoClass d2 = new DemoClass(1);
d2.Method(); // field: 1, Property: 0
DemoClass d3 = new DemoClass(1, 2);
d3.Method(); // field: 1, Property: 2
Доступна возможность использования неявного объявления с помощью ключевого слова var:
var d4 = new DemoClass();
Если у класса есть публичные свойства, то им можно присвоить значения при инициализации:
var d5 = new DemoClass(10) { Property = 11 };
d5.Method(); // field: 10, Property: 11

5.

Методы
Методом класса называют функцию или процедуру, которая принадлежит классу или объекту. Отличие
функции от процедуры в том, что функция возвращает значение, а процедура нет. В общем виде синтаксис
объявления метода выглядит следующим образом:
модификатор(ы) тип_возвращаемого_значения имя_функции(аргументы)
Модификаторы определяют область видимости, принадлежность метода объекту или классу, является ли
метод переопределением и т.п. Тип возвращаемого значения – это любой доступный в C# тип. В качестве
типа возвращаемого значения не может использоваться ключевое слово var. Если метод не возвращает
ничего, то указывается тип void. Метод может содержать ноль или более аргументов, которые также могут
иметь специальные модификаторы, указывающие на то является ли аргумент входным или выходным и т.п.
Более подробно про все эти аспекты будет рассказано в одном из уроков, посвященных более глубокому
изучению ООП в C#. В рамках данного урока, наша задача – это на интуитивном уровне научиться принципам
работы с классами в C#.

6.

Поля
Поле представляет собой переменную любого типа, объявленную внутри класса. Через
модификатор доступа можно управлять уровнем доступа к полю (так же как для методов), через
ключевое слово static можно определять принадлежность поля объекту либо классу:
class DemoClass
{
// ...
int field = 0;
public int publicField = 0;
public static int publicStaticField = 0;
// ...
}
(Код в Main):
var d9 = new DemoClass();
// Доступ к private полям запрещен
// Console.WriteLine($"Get private field: {d9.field}"); // Compile ERROR
// Доступ к полю объекта
d9.publicField = 123;
Console.WriteLine($"Get public field: {d9.publicField}"); // Get public field: 123
// Доступ к статическому полю класса
DemoClass.publicStaticField = 456;
Console.WriteLine($"Get public static field: {DemoClass.publicStaticField}"); // Get public static field: 456
English     Русский Rules