- •Понятия объекта, класса объектов.
- •2. Основные понятия ооп: инкапсуляция, наследование и полиморфизм.
- •Модульное программирование.
- •4. Нисходящее программирование
- •5. Структурное програММирование
- •6. Прототипы функций.
- •7. Перегрузка функций
- •8. Значения формальных параметров по умолчанию.
- •9. ССылка и параметры-сСылки
- •10. Встраиваемые функцИи
- •11. ОперацИи new и delete
- •12. ФункцИи-члены и даННые-члены
- •13. Интерфейсы и реализация
- •14. Конструкторы и инициализация
- •15. Конструктор без параметров (по умолчанию)
- •16. Деструкторы и очистка
- •17. Конструктор копирования
- •18. Указатель this
- •19. Статические члены: функции и данные.
- •20. Указатели на члены.
- •21. Структуры и объединения
- •22. Константные члены-функции и константные объекты.
- •Void f();
- •Перегрузка бинарных и унарных операций.
- •Перегруженные операции индексирования, вызова функций, инкремента и декремента префиксных и постфиксных.
- •Перегрузка new, delete
- •Преобразование типов, определяемых пользователем с помощью конструкторов и операций преобразования.
- •Неявное преобразование типов
- •30. Наследование клаССов и производные клаССы.
- •31. Конструкторы, деструкторы и наследование.
- •Множественное наследование
- •Виртуальные базовые классы.
- •Virtual void draw();
- •Виртуальные функции.
- •35. Полиморфизм.
- •36. Абстрактные клаССы и чистые виртуальные функцИи.
- •37. Заголовочные файлы.
- •38. ПредопределЁнНые объекты и потоки.
- •39. Ошибки потоков.
- •41. Конструкторы файловых потоков.
- •42. Открытие файлов в разных режимах.
- •43. ВВод-вывод в файлы.
- •44. Шаблоны функций.
- •45. Параметры шаблонов.
- •46. Шаблоны клаССов.
Понятия объекта, класса объектов.
Базовыми блоками объектно-ориентированной проrраммы являются объекты и классы.
Объект — некоторая сущность в виртуальном пространстве, обладающая определённым состоянием и поведением, имеет заданные значения свойств (атрибутов) и операций над ними (методов). Как правило, при рассмотрении объектов выделяется то, что объекты принадлежат одному или нескольким классам, которые в свою очередь определяют поведение (являются моделью) объекта. Время с момента создания объекта (конструкция) до его уничтожения (деструкция) называется временем жизни объекта. Объект наряду с понятием «класс», является важным понятием объектно-ориентированного подхода в программировании. Объекты обладают свойствами наследования, инкапсуляции и полиморфизма.
Класс — разновидность абстрактного типа данных в объектно-ориентированном программировании (ООП), характеризуемый способом своего построения. Суть отличия классов от других абстрактных типов данных состоит в том, что при задании типа данных класс определяет одновременно и интерфейс, и реализацию для всех своих экземпляров, а вызов метода-конструктора обязателен.
Класс в языке С++ задается с помощью ключевого слова class, за которым следует его имя и в фигурных скобках {} дается его описание. После определения класса ставится точка с запятой.
2. Основные понятия ооп: инкапсуляция, наследование и полиморфизм.
ООП основано на трёх базовых принципах: инкапсуляции, наследовании и полиморфизме. Для того чтобы считаться объектно-ориентированным язык должен поддерживать все три принципа.
Инкапсуляция – это связывание вместе данных и кода который ими манипулирует. Это свойство языка программирования, позволяющее пользователю не задумываться о сложности реализации используемого программного компонента (что у него внутри?), а взаимодействовать с ним посредством предоставляемого интерфейса (публичных методов и членов), а также объединить и защитить жизненно важные для компонента данные.
В C# единицей инкапсуляции является класс. Класс определяет код и данные которые он инкапсулирует. Код и данные составляющие класс могут быть закрытыми или открытыми. Закрытые код и данные доступны только коду внутри класса. К ним нельзя обращаться из других частей программы. Открытые код и данные доступны для кода вне класса. К ним можно обращаться из других частей программы.
Класс может использоваться для создания экземпляров класса или объектов. Класс фактически определяет как создать объект.
Наследование. В ООП наследование позволяет создавать новый класс на основе существующего класса. Причём свойства и функциональность существующего класса наследуются новым классом. В новом классе в часть унаследованной функциональности можно внести изменения. Новый класс называется производным классом или классом потомком. Существующий класс называется базовым классом или классом предком.
Наследование может принимать две формы: наследование интерфейсов и наследование реализации. При наследовании реализации производный класс наследует поведение и возможности базового класса. При интерфейсном наследовании производный класс наследует имена и сигнатуры методов. В этом случае производный класс сам отвечает за реализацию этих методов.
В зависимости от того сколько базовых классов у класса потомка наследование бывает множественным и одиночным. При множественном наследовании у производного класса может быть несколько базовых классов. При одиночном наследовании у производного класса может быть только один базовый класс.
Полиморфизм – это процесс, посредством которого один объект может приобретать свойства другого. Точнее, объект может наследовать основные свойства другого объекта и добавлять к ним черты, характерные только для него. Для выражения смысла полиморфизма в программировании используется фраза “Один интерфейс - несколько методов”. В ОО языках программирования полиморфизм может быть реализован с помощью наследования. Один и тот же код в зависимости от того используется ли объект базового класса или класса потомка будет вызывать метод базового класса или переопределённый метод класса потомка.