Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Зачёт С#.docx
Скачиваний:
17
Добавлен:
10.12.2018
Размер:
100.55 Кб
Скачать

13.Объект и его свойства. Характеристики ооп.

В середине 80-х годов XXв. в программировании возникло новое направление, основанное на понятии объекта. ООП предназначено для написания сложных систем. Возникла потребность разделить программы не просто на процедуры, а на полностью независимые и самостоятельные классы процедур, которые сами отвечают за свое внутреннее состояние и внешнее поведение. Их отличительная черта состоит в том, что базируясь на эти классы, можно строить совершенно различные приложения.

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

Реальные объекты окружающего нас мира обладают тремя базовыми характеристиками:

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

2.Они способны разными методами изменять эти свойства. Метод–процедура, которая реализует возможные с объектом действия.

3.Способны реагировать на события, возникающие внутри самого объекта. События – это аналог сообщений, которые получают и отправляют объекты.

Объекты, имеющие общие свойства, методы обработки данных, объединяются в классы. Класс – это новый тип данных, основанный на единой структуре объекта. При создании класса в современных средах программирования задаются 2 блока: 1.Данные - описываются все структуры данных, с кот б работать данный класс, а также создаются экземпляры объектов. 2.Методы- описываются свойства и методы обработки этих данных, еще говорят, описывается поведение данного класса. Классу присваивают имя.

Класс характеризуется следующими основополагающими понятиями ООП.

1.Наследование. Позволяет создавать новые классы на основе имеющегося класса, с наследованием всех его свойств и методов и добавлением собственных. Класс, не имеющий предшественника, называется базовым. Если первый называется базовым, то второй – производным классом (или подклассом).

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

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

Например: метод «Идти» базового класса «Животное» нужно переопределить для класса «Кунгуру».

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

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