Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ООП (Заочно).docx
Скачиваний:
0
Добавлен:
27.09.2019
Размер:
58.56 Кб
Скачать

Стр. 15

Содержание

Программа курса 1

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

Конструкторы, деструкторы и др. Работа с объектами в .Net 3

Ссылочные типы и Типы значения. Передача параметров в .Net 5

Принципы ООП 7

Инкапсуляция 7

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

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

Важные классы (типы данных) 10

Обобщенные контейнеры 11

Статические методы и свойства 11

Обработка исключений 12

Интерфейсы и слабая связь между классами 13

Рефлексия и создание объектов из внешних модулей по имени класса 14

Программа курса

  1. +Основные понятия ООП. (Классы, объекты, методы, поля, свойства).

  2. Преимущества ООП в проектировании.

  3. +Синтаксис объявлений классов в C#. Пространства имен.

  4. +Конструкторы и деструкторы.

  5. +Создание объектов. Ссылки. Особенности .Net и время жизни объектов (CLR, сборщик мусора). Преимущества.

  6. +Основные принципы ООП.

    1. +Инкапсуляция. Двойственное понимание.

    2. +Инкапсуляция - поля, свойства и методы доступа.

    3. +Наследование. Повторное использование кода.

    4. Полиморфизм. Шаблонный полиморфизм.

    5. + Полиморфизм. Виртуальные методы.

    6. Наследование и полиморфизм - Обобщенное программирование.

  7. +Важные типы данных. DateTime, TimeSpan.

  8. +Обобщенные контейнеры в .Net. Свойства и назначения контейнеров. Метод Contains для всех контейнеров кроме Dictionary. В Dictionary ContainsKey и ContainsValue. Оператора foreach и Enumerator.

  9. +Обобщенные списки и их свойства (List, Queue, Stack и LinkedList).

  10. +Ассоциативные массивы (словари) и множества и их свойства (Dictionry, HashSet).

  11. +Работа со строками в .Net.

  12. +Типы значения и типы ссылки. Числовые, булевские, char, enum и struct.

  13. +Передача параметров в .Net.

  14. +Статические методы и данные.

  15. +Обработка исключений.

  16. +Интерфейсы. Слабая связь между классами.

  17. +Рефлексия и создание объектов из внешних модулей по имени класса.

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

(тип данных, абстрагирование и абстракция, класс, объект, метод, поле и свойство, состояние и поведение объектов)

Объектно-ориентированное программирование (ООП) фактическим стало стандартом технологии программирования. Этот подход подразумевает, что разработчики:

  • предварительно анализируют предметную область создаваемой информационной системы

  • выделяют ключевые и вспомогательные абстракции (понятия) и

  • разрабатывают классы, соответствующие сформированным абстракциям

  • далее само приложение разрабатывается в терминах создания и взаимодействия объектов ранее разработанных классов.

В отличие от примитивных типов данных, таких как числа, символы и их массивы, класс описывает не только данные объекта, но и методы работы с ними. Данные объекта описываются полями данных, а средства работы с объектами – функциями членами классов или методами.

Проиллюстрируем эти положения на примере. Пусть мы создаем информационную систему для отдела кадров фирмы. Тогда естественно создать класс Company. Компания имеет название, и много других подобных атрибутов, связанных с учредительными документами. Но с точки зрения отдела кадров важны такие функции, как ‘Принять нового сотрудника’, ‘Уволить сотрудника’, ‘Перевести на другую должность’.

На языке C# это примерно выглядело бы так:

public class Company

{

String Name; // Название компании

List<Person> Staff; // Хранилище для сотрудников компании

public bool HireNewMember(Person p, DateTime since, Position position);

public bool AppointToPosition (Person p, DateTime since, Position newPosition);

public bool DischargeMember(Person p);

}

Фрагмент 1. Пример объявления класса.

В верхней части объявления класса указаны 2 поля. Поля будут содержать данные конкретного объекта (конкретной компании). Они выглядят как объявление переменных.

Далее указаны 3 метода – принять, перевести и уволить. Они дают средства работы с персоналом компании и выглядят как функции, т.е. после имени в круглых скобках идет список параметров.

Для создания объекта Компания в тексте необходимо указать:

Company c = new Company();

Фрагмент 2. Пример создания объекта. После слова new стоит вызов конструктора.

Здесь ‘с’ – это переменная соответствующая объекту конкретной компании. Говорят, что это объект или экземпляр класса Company. Теперь, что бы принять сотрудника в эту компанию нужно у объекта ‘c’ вызвать метод HireNewMember.

c.HireNewMember(p, date, position);

Фрагмент 3. Пример вызова метода объекта.

где p – объект соответствующий конкретной персоне, date – дата, с которой сотрудник принимается на работу, а position – объект, указывающий должность, на которую принимается сотрудник.

Хороший стиль программирования требует не давать прямого доступа пользователям класса к полям данных, а ‘заворачивать’ поля в свойства. На рассмотренном выше примере объявление свойств выглядит так

public class Company

{

String name; // Поле

public String Name { // Соответствующее свойство

get { return name;}

set {if(value != ””) name = value;}

} …

Фрагмент 4. Пример объявления свойства.

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

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

Упражнение для подготовки к экзамену.

  1. Предложите другую не сложную информационную систему, выделите в ней абстракции, которые соответствуют предметной области, и перечислите набор свойств и методов, характеризующих эти абстракции. Изложите ваши результаты, используя термины Состояние объекта и Поведение объекта.

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