Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

c#2_oop

.pdf
Скачиваний:
12
Добавлен:
26.03.2016
Размер:
262.84 Кб
Скачать

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

Чаще всего в классе определяют операции сравнения на равенство и неравенство для того, чтобы обеспечить сравнение объектов, а не их ссылок.

Операции == и !=, > и <, >= и <= определяются только парами и обычно возвращают логическое значение.

Разобрать примеры переопределения бинарных операций [1-3].

Операции преобразования типа

Наиболее актуальны операции явного и неявного преобразования пользовательских типов

данных:

implicit operator тип ( параметр )

// неявное преобразование

 

explicit operator тип ( параметр )

// явное преобразование

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

Особенности переопределения операций преобразования пользовательских типов данных:

Неявное преобразование выполняется автоматически:

1)при присваивании объекта переменной целевого типа; 2) при использовании объекта в выражении, содержащем переменные целевого типа; 3) при передаче объекта в метод на место параметра целевого типа; 4) при явном приведении типа.

Явное преобразование выполняется при явном указании операции приведения.

public static implicit operator int( Dog d )

{

return d.ves; }

 

public static explicit operator Dog( int v )

{

return new Dog( ves, rost);

}

 

Dog pit = new Dog ( 20, 15);

 

 

int v = pit.ves;

// неявное преобразование

 

int r = (Dog) pit.rost;

// явное преобразование

Разобрать примеры переопределения операций преобразования типов [1-3].

Технология разработки объектно-ориентированных программ

В предметной области выделяются сущности, которые можно использовать как классы.

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

-связанные с конструированием объектов (экземпляров классов);

-реализующие связи между классами, которые существуют в предметной области;

-реализующие взаимодействие с пользователем.

Определяются методы, которые будут абстрактными, виртуальными, статическими.

Определяются взаимозависимости между классами. Строится иерархия классов. Процесс создания иерархии - итерационный. Например, можно в двух классах выделить общую часть в базовый класс и сделать их производными.

Проработать теоретический материал [1-3]. Выделить наиболее важные этапы разработки объектно-ориентированных программ.

Достоинства ООП

использование при программировании понятий, близких к предметной области;

возможность успешно управлять большими объемами исходного кода благодаря инкапсуляции, то есть скрытию деталей реализации объектов и упрощению структуры программы;

возможность многократного использования кода благодаря наследованию;

упрощение модификации программ;

возможность создания и использования библиотек объектов.

Недостатки ООП

идеи ООП не просты для понимания и практического использования

для эффективного использования существующих объектно-ориентированных систем и библиотек требуется большой объем первоначальных знаний

неграмотное применение ООП может привести к значительному ухудшению характеристик разрабатываемой программы

снижение быстродействия программы, связанное с использованием виртуальных методов

Повторить изученный материал [1-3]. Выделить наиболее важные понятия. Какие теоретические положения были наиболее трудными для изучения? Какие практические приемы и методы оказались наиболее трудными?

Перечень рекомендуемых источников

Литература

Основная

1.Павловская Т. А. C#. Программирование на языке высокого уровня. СПб.: Питер, 2013. - 432 с.

2.Подбельский В.В., Язык С#. Базовый курс. – М.: Финансы и статистика. 2011. - 384 с.

3.Фленов М., Библия C#. – СПб.: БХВ-Петербург. 2011. - 560 с

Дополнительная

4. Уотсон К., Visual C# 2010. Полный курс. — М.: Вильямс, 2011.— 956 с

5.Троелсен Э., Язык программирования C# 2010 и платформа .NET 4.0. — М.: Вильямс, 2011.— 1392 с

6. Шилдт Г., C# 4.0. Полное руководство. — М.: Вильямс, 2011.— 1056 с.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]