Классы в C#

Содержание

Слайд 2

Класс

- производный (агрегатный) тип данных, введённый программистом на основе уже существующих типов,

Класс - производный (агрегатный) тип данных, введённый программистом на основе уже существующих
характеризующийся объединением разнотипных данных и программного кода для их обработки

Слайд 3

Класс - тип данных

int
double
bool

класс1
класс2

Класс - тип данных int double bool … класс1 класс2

Слайд 4

Состав класса

Члены класса – составляющие класс атомарные единицы
Данные класса – переменные внутри

Состав класса Члены класса – составляющие класс атомарные единицы Данные класса –
класса
Методы класса – программный код для обработки данных (не всегда)

Слайд 5

Определение класса

class ИмяКласса
{
доступ тип имя;
доступ тип имя(параметры)
оператор;
}

Определение класса class ИмяКласса { доступ тип имя; доступ тип имя(параметры) оператор; }

Слайд 6

Спецификаторы доступа
public – доступен из любой точки программы
private – доступен только внутри

Спецификаторы доступа public – доступен из любой точки программы private – доступен
этого же класса
protected – доступен внутри этого же класса и его наследников

Слайд 7

Простейший пример

class Human
{
public string FName, LName;
public int BirthYear;
}

Простейший пример class Human { public string FName, LName; public int BirthYear; }

Слайд 8

Дубль два: класс – тип данных!

int = 5; // Так не бывает!
int

Дубль два: класс – тип данных! int = 5; // Так не
Radius;
Radius = 5;
Human Vasya;
Vasya = ????

Слайд 9

Объекты

Переменная, у которой тип данных какой-либо класс – объект (экземпляр класса)
В C#

Объекты Переменная, у которой тип данных какой-либо класс – объект (экземпляр класса)
объекты доступны только косвенно – через ссылки

Слайд 10

Создание ссылки и объекта

// Всегда в два этапа!
Human Vasya; // ссылка
Vasya =

Создание ссылки и объекта // Всегда в два этапа! Human Vasya; //
new Human(); // новый объект
// ссылке присваивается адрес
Human Vasya = new Human();

Слайд 11

Представление в памяти

Vasya

Petya

Представление в памяти Vasya Petya

Слайд 12

Заполнение данных объекта
Human Vasya = new Human();
Vasya.FName = “Василий”;
Vasya.LName = “Иванов”;
Vasya.BirthYear =

Заполнение данных объекта Human Vasya = new Human(); Vasya.FName = “Василий”; Vasya.LName
2001;

Слайд 13

Заполнение данных объекта
Human Petya = new Human();
Petya.FName = “Петров”;
Petya.LName = “Пётр”;
Petya.BirthYear =

Заполнение данных объекта Human Petya = new Human(); Petya.FName = “Петров”; Petya.LName
2003;

Слайд 14

Данные класса == переменные
Radius = 5;
Petya.BirthYear = 2003;
Console.WriteLine( Radius );
Console.WriteLine( Petya.BirthYear );

Данные класса == переменные Radius = 5; Petya.BirthYear = 2003; Console.WriteLine( Radius ); Console.WriteLine( Petya.BirthYear );