Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по ая.docx
Скачиваний:
22
Добавлен:
20.09.2019
Размер:
276.66 Кб
Скачать

Оглавление

Основные понятия ООП 1

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

UML, назначение, типы диаграм. 4

Диаграмма классов 5

Методы 7

Деструкторы 8

Свойства 8

Индексаторы 10

Этапы проектирования класса. 11

Отношения между классами 11

Вложенные классы 12

Наследование 14

Отношения и их графическое изображение на диаграмме классов 16

Полиморфизм 19

Абстрактные классы 22

Классы без потомков 23

Интерфейсы 23

Изображение интерфейсов и абстрактных классов на диаграмме классов 24

Вложенные классы 25

Статические классы 26

Делегаты 27

Криптография и .NET 28

Сетевое программирование в C# 31

Создание простого клиент-серверного приложения используя сокеты 32

Многопоточность 33

Разработка библиотек dll 35

Основные понятия ооп

Объект – это любая физическая или абстрактная сущность.

Объект – это экземпляр некоторого класса объектов или просто класса. Таким образом, класс – это абстрактное понятие.

Класс можно сравнить с чертежом, согласно которому создаются объекты. Обычно классы разрабатывают таким образом, чтобы их объекты соответствовали объектам предметной области.

В языке C# класс определяется следующим образом:

[<атрибуты>] [<модификаторы>] class <идентификатор> [: <предки>]

{

<тело класса>;

}

Где:

Class – ключевое слово.

Идентификатор – определяет имя класса.

Предки – определяет классы от которых наследуется создаваемый класс.

Тело класса – содержит описание и определение методов и полей класса.

В простых случаях объявление класса может выглядеть так:

class Student

{

}

При определении класса объявляются данные (поля или атрибуты), которые он содержит, а также код (методы), оперирующий этими данными. Если самые простые классы могут содержать только код или только данные, то большинство настоящих классов содержит и то и другое.

Определим, что данные содержатся в членах данных, определяемых классом, а код — в функциях-членах.

Данные-члены — это в первую очередь поля, а также константы и события. Поля - это любые переменные, ассоциированные с классом. Поля характеризуют свойства объектов класса. Полями класса должны быть только необходимые свойства объекта, которые могут понадобиться в одном из проектов, связанных с данным классом. Поля класса существенным образом влияют на память, необходимую программной системе в процессе ее работы. Поля класса определяют следующим образом:

[<атрибуты>] [<модификаторы>] <тип> <идентификатор> [= <начальное значение>]

Где:

Тип – тип переменной определяющей поле.

Идентификатор – определяет имя класса.

Начальное значение – значение которым инициализируется поле при создании объекта данного класса.

Например:

class Student

{

string name;

string group;

int year;

}

Для класса Student – определены три поля: name – для задания ФИО студента, group – для задания группы, year для задания даты рождения студента.

Функции-члены - это члены, которые обеспечивают некоторую функциональность для манипулирования данными класса. Они включают методы, свойства, конструкторы, деструкторы, индексаторы, структуры, делегаты, интерфейсы, перечисления и т.д.

Методы - это функции, ассоциированные с определенным классом, действие, которое выполняет объект. Методы содержат описания операций, доступных над объектами класса, определяя, тем самым, поведение объектов. Есть методы, решающие специальные задачи, - конструкторы, методы-свойства и др. Методы класса определяют следующим образом:

[<атрибуты>] [<модификаторы>]<тип возвр знач><идентификатор>([<список формальных параметров>])

[{

<тело метода>

}]

Где:

Тип возвращаемого значения – определит тип значения, которое будет возвращено методом после его выполнения.

Идентификатор – определяет имя класса.

Список формальных параметров – параметры передаваемые методу при его выполнении.

Тело метода – содержит описание и определение метода.

Например:

class Student

{

string name;

string group;

int year;

public void Print()

{

Console.WriteLine("Студент {0} группы {1} родился в {2}", name , group, year);

}

}

В приведенном примере, метод Print() при вызове выполнит вывод на экран полей класса. Рассмотрим специальные методы, такие как конструктор, свойство и т.д.