Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OOP_Answers_new_v_1_5.doc
Скачиваний:
6
Добавлен:
05.08.2019
Размер:
107.52 Кб
Скачать
  1. Ооп, как идеология программирования. Отличия от предшествующих подходов, применяемых в программировании ранее. Полный.

ООП — парадигма программирования, в которой основными концепциями являются понятия объекта и класса. ООП — идеология и технология программирования.

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

Однако сами идеи ООП довольно трудны для восприятия "с нуля".

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

Технология ООП обладает тремя главными преимуществами:

  • повышенно надежна и проста для сопровождения — правильное проектирование обеспечивает простоту расширения и модификации объектно-ориентированных программ. Модульная структура позволяет вносить независимые изменения в разные части программы, сводя к минимуму риск ошибок программирования;

  • ускоряет цикл разработки — модульность и здесь играет важную роль, поскольку различные компоненты объектно-ориентированных программ можно легко использовать в других программах, что уменьшает избыточность кода и снижает риск внесения ошибок при копировании.

Специфика ООП заметно повышает эффективность труда программистов и позволяет им создавать более мощные, масштабируемые и эффективные приложения.

Идеология ООП держится на трех китах: наследование, полиморфизм (то есть использование виртуальных функций), инкапсуляция. Но главный из них — наследование. Без наследования все остальное не имеет смысла.

Отличается от предыдущих подходов объединением данных и их обработки в единой синтаксической конструкции (классе).

  1. Основные понятия ооп: класс, объект, поле, свойство, метод, событие. Реализация событий с помощью модели делегатов. Полный.

Объект — это специфическая компьютерная сущность, которая существует в компьютерной памяти и может описывать реальный объект (из реального мира).

В современных объектно-ориентированных языках программирования каждый объект является значением, относящимся к определённому классу. У класса существует множество определений

Класс — шаблон создания объекта.

Класс также представляет собой объявленный программистом составной тип данных, имеющий в составе:

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

Объекты одного класса имеют одинаковые поля.

Свойство — механизм доступа к полям.

Свойство — способ доступа к внутреннему состоянию объекта, имитирующий переменную некоторого типа. Обращение к свойству объекта выглядит так же, как и обращение к структурному полю (в структурном программировании), но, в действительности, реализовано через вызов функции. При попытке задать значение данного свойства вызывается один метод, а при попытке получить значение данного свойства — другой.

Свойство — псевдополе, доступное для чтения и / или записи.

Метод — процедура или функция, принадлежащая какому-либо классу (объекту).

Метод — процедура или функция (подпрограмма), управляющая данными, которые определены в классе. Они определяют действия, которые можно выполнять над объектом такого типа, и которые сам объект может выполнять. Может обеспечивать доступ к данным (как и свойство).

Делегаты. События и делегаты (без синтаксиса).

Делегат — шаблон, определяющий синтаксис оператора, который описывает метод.

Делегаты являются ссылками на методы, инкапсулирующими настоящие указатели и предоставляющими удобные сервисы для работы с ними. Ссылки представляют собой объекты соответствующего типа. Все делегаты являются объектами типа System.Delegate (или System.MulticastDelegate, который является производным от первого).

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

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