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

6. Понятие сложности алгоритма. Типовые виды алгоритмической сложности.

Сложность алгоритмов:

  • Сложность восприятия

  • Алгоритмическая сложность

  • Временные затраты.

Виды сложности:

Const, log(n), n, n*log(n), nчисло, числоn, n!

Сложность алгоритма – это зависимость конечного значения некоторого счетчика от размеров входных данных.

7. Исключения (try, catch, finally).

ИСКЛЮЧЕНИЯ try, catch, finally

Исключение – это специальный объект, создаваемый в программе, указывающий на

возникновение исключительной ситуации. Поля этого объекта хранят информацию о причине и месте возникновения исключения.

Операторы try, catch, finally

Исключения представляются классами. Все классы исключений создаются от базового класса Exception, который определен в пространстве имен System. Для управления обработкой исключений используются операторы try, catch и Finally

Структура построения исключений

try // контролируемый блок

{

}

catch //один или несколько блоков обработки исключений

{

}

finally //блок завершения {

}

Программные инструкции, которые нужно проконтролировать на предмет исключений,

помещаются в блок try. При возникновении исключения внутри этого блока управление

будет передано на блок catch, который умеет обрабатывать возникшие исключения. Блок

finally будет выполнен в любом случае, не зависимо от того, возникли исключения внутри блока try или нет.

Механизм выполнения обработки исключений

При возникновении ошибки выполнения метода, метод генерирует исключение

соответствующего типа.

Пример:

static void Main()

{

Console.Write("x=");

int x = int.Parse(Console.ReadLine()); ??

int y = 1 / x;

Console.WriteLine("y={0}", y);

}

Перечислим, какие исключительные ситуации могут возникнуть.

1. Пользователь может ввести нечисловое значение и выполнение оператора Parse завершится неудачей.

2. Пользователь может ввести значение 0, и произойдет деление на 0.

8. Интерфейсы, применение предназначения.

ИНТЕРФЕЙСЫ, применение и предназначение

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

Интерфейс - это набор логически связанных абстрактных членов. Интерфейс описывает функциональность классов, но не определяет способа ее реализации.

Синтаксис интерфейса:

interface имя_интерфейса

{

Список абстрактных методов

}

Реализация интерфейсов

Класс может иметь только одного предка, но реализовывать сколько угодно интерфейсов

• Пример

class Rectangle : Figure, IFigure

{

\\\\\\

}

Для интерфейса могут использоваться спецификаторы new, public, internal и private.

Спецификатор new применяется для вложенных интерфейсов.

По умолчанию интерфейс доступен только из

сборки, в которой он описан, по умолчанию используется спецификатор internal.

Все функциональные члены интерфейса по определению являются открытыми (public) и

абстрактными (abstract), поэтому при описании метода указывается только тип возвращаемого им значения и сигнатура.

Ограничения при использовании интерфейсов

1.Интерфейс не реализует методы.

2.Интерфейс не может определять поля, конструкторы, деструкторы или операторные методы.

3.Ни один член интерфейса не может быть объявлен статическим.

4.Методы неявно являются открытыми (public- методами), не разрешается явным образом указывать спецификатор доступа.

Пример интерфейса

interface IDraw

{

void Draw();

}

interface IFigure

{

void Move(double dx, double dy);

void Resize(double scalex, double scaley);

double X { set; get; } double Y { set; get; }

}