прога 1,2. Принцип объектноориентированного программирования
Скачать 39.07 Kb.
|
Принцип объектно-ориентированного программирования Инкапсуляция – это ограничение доступа к данным и их объединение с методами, обрабатывающими эти данные. Когда данные и методы соединяются, то создается объект. Доступ к отдельным частям класса регулируется с помощью специальных ключевых слов: public (открытая часть)методы, private (закрытая часть)свойства, protected (защищенная часть). Полиморфизм - это свойство, которое позволяет одно и то же имя использовать для решения двух или более схожих, но технически разных задач. Целью полиморфизма, применительно к объектно-ориентированному программированию, является использование одного имени для задания общих для класса действий. Наследование - механизм, который позволяет описать новый класс на основе существующего (родительского). При этом свойства и функциональность родительского класса заимствуются новым классом. Для чего нужно наследование и какие преимущества оно дает? Прежде всего — повторное использование кода. Поля и методы, описанные в родительских классах, можно использовать в классах-потомках. Уровни доступа в классе Класс — это пользовательский тип данных, объединяющий данные и алгоритмы для обработки этих данных. Класс моделирует группу каких-либо реальных объектов (студенты, машины), процессов (путешествия), явлений (погода). Данные класса представлены в виде переменных и называются свойствами. Алгоритмы представлены в виде функций и называются методами. В классе существует разграничение доступа к его членам. Внутреннюю (закрытую) часть класса, доступную только этому классу, составляет раздел private, защищенная часть класса доступна классу и его наследникам — раздел protected, доступны для любых объектов без ограничения члены класса из раздела public (открытая часть класса). Чем отличается структура от класса Класс - это данные и методы для работы с этими данными. Содержат функции для работы Структра схожа с классом, она так же может иметь в себе перечень неких данных и даже методов. Но: структура не поддерживает наследование, имплементирование, ее можно объявить внутри класса, структура является дополнительным сборным типом данных. Структура (struct) является типом значения. При создании структуры переменная, которой присвоена структура, содержит фактические данные этой структуры. Если структура присваивается новой переменной, все данные копируются. Таким образом, новая переменная и исходная переменная содержат две отдельные копии одинаковых данных. Изменения, внесенные в одну копию, не влияют на другую. В общем случае классы используются для моделирования более сложного поведения или для таких данных, которые будут изменяться после создания объекта класса. Структуры лучше подходят для небольших структур данных, информация в которых не должна изменяться после создания структуры. Перегрузка методов Перегрузка методов – создание одноименных методов в пределах одного класса, которые отличаются количеством и/или типом параметров. Перегруженные методы могут возвращать значения разных типов данных, однако отличие только в возвращаемом типе не допускается. Перегрузка используется для создания универсальных методов, логика поведения которых одинакова, но типы данных или количество аргументов разное. Это дает возможность писать красивый код, группируя методы с одинаковым поведением по имени. Виртуальная функция Виртуальная функция в С++ — это особый тип функции, которая, при её вызове, вызывает перегруженный метод дочернего класса. Эта возможность ещё известна как полиморфизм. Чтобы сделать функцию виртуальной, нужно просто указать ключевое слово virtual перед объявлением функции. Диаграмма классов и компонентов Наследование от базавого класса Свойства некоторые(в разделе протектед) |