Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры_ООП.docx
Скачиваний:
5
Добавлен:
18.09.2019
Размер:
114.62 Кб
Скачать
  1. Понятия объекта, класса объектов.

Базовыми блоками объектно-­ориентированной проrрам­мы являются объекты и классы.

Объект — некоторая сущность в виртуальном пространстве, обладающая определённым состоянием и поведением, имеет заданные значения свойств (атрибутов) и операций над ними (методов). Как правило, при рассмотрении объектов выделяется то, что объекты принадлежат одному или нескольким классам, которые в свою очередь определяют поведение (являются моделью) объекта. Время с момента создания объекта (конструкция) до его уничтожения (деструкция) называется временем жизни объекта. Объект наряду с понятием «класс», является важным понятием объектно-ориентированного подхода в программировании. Объекты обладают свойствами наследования, инкапсуляции и полиморфизма.

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

Класс в языке С++ задается с помощью ключевого слова class, за которым следует его имя и в фигурных скобках {} дается его описание. После определения класса ставится точка с запятой.

2. Основные понятия ооп: инкапсуляция, наследование и полиморфизм.

ООП основано на трёх базовых принципах: инкапсуляции, наследовании и полиморфизме. Для того чтобы считаться объектно-ориентированным язык должен поддерживать все три принципа.

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

В C# единицей инкапсуляции является класс. Класс определяет код и данные которые он инкапсулирует. Код и данные составляющие класс могут быть закрытыми или открытыми. Закрытые код и данные доступны только коду внутри класса. К ним нельзя обращаться из других частей программы. Открытые код и данные доступны для кода вне класса. К ним можно обращаться из других частей программы.

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

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

Наследование может принимать две формы: наследование интерфейсов и наследование реализации. При наследовании реализации производный класс наследует поведение и возможности базового класса. При интерфейсном наследовании производный класс наследует имена и сигнатуры методов. В этом случае производный класс сам отвечает за реализацию этих методов.

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

Полиморфизм – это процесс, посредством которого один объект может приобретать свойства другого. Точнее, объект может наследовать основные свойства другого объекта и добавлять к ним черты, характерные только для него. Для выражения смысла полиморфизма в программировании используется фраза “Один интерфейс - несколько методов”. В ОО языках программирования полиморфизм может быть реализован с помощью наследования. Один и тот же код в зависимости от того используется ли объект базового класса или класса потомка будет вызывать метод базового класса или переопределённый метод класса потомка.

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