- •1. Оформление кода. Венгерская нотация и нотация Lower Case.
- •2. Автоматические системы документирования. Команды
- •3. Понятие контроля версий проекта. Основные системы контроля версий.
- •4. Система Git. Основные команды Git.
- •5. Модели разработки программного обеспечения. Водопад.
- •6. Модели разработки программного обеспечения. Спираль.
- •7. Модели разработки программного обеспечения. V-образная модель.
- •10. Google Test. Нефатальные утверждения.
- •8. Google Test. Утверждения Google Test.
- •9. Google Test. Фатальные утверждения.
- •11. Разработка через тестирование.
- •12. Объектно-ориентирование программирование.
- •13. Парадигмы объектно-ориентированного программирования.
- •14. Классы и объекты.
- •15. Поля и методы класса.
- •16. Методы класса. Методы set и get.
- •17. Правила доступа и оформления при ооп.
- •18. Конструкторы и деструкторы.
- •19. Конструктор по умолчанию.
- •Пример Конструктора по умолчанию
- •20. Использование спецификаторов доступа.
- •21. Инкапсуляция. Разделение интерфейса и реализации в проекте.
- •22. Защита от повторной компиляции. Назначение. Пример.
- •23. Одиночное и множественное наследование.
- •24. Виртуальная функция. Чистая виртуальная функция.
- •25. Абстрактный класс.
- •26. Полиморфизм.
- •27. Перегрузка бинарных операторов.
- •28. Перегрузка унарных операторов.
- •29. Перегрузка функций.
- •30. Перегрузка операторов. Постфиксная и префиксные формы.
- •31. Технология rad.
- •32. Интегрированная среда разработки.
- •33. Rad. Свойства, события и методы.
- •34. Rad. Стандартная библиотека компонент vcl. Иерархия vcl.
- •35. Rad. События мыши.
- •36. Canvas. Основные методы Canvas.
- •37. Canvas. Основные свойства tBrush.
- •38. Canvas. Основные свойства tPen.
- •39. Пользовательские диалоги.
- •40. Диалог InputBox.
- •InputBox
- •InputBox(prompt[, title] [, default] [, xpos] [, ypos]),
- •41. Тип данных UnicodeString. Основные методы UnicodeString.
- •42. Понятие ошибочной ситуации.
- •43. Исключительная ситуация. Генерация, раскручивание стека и перехват при возникновении исключений.
- •1. Обработка ошибок
- •2. Генерация и перехват исключений
- •45. Понятие структуры данных. Состав элемента структуры.
- •46. Структуры данных: стек, очередь, список.
- •47. Структуры данных: множества, мультимножества, дерево.
- •48. Алгоритмы, контейнеры и итераторы.
- •49. Контейнер как структура данных.
- •Как выбрать контейнер?
- •50. Методы контейнеров.
- •51. Stl. Контейнер list.
- •52. Stl. Контейнер vector.
- •53. Slt. Контейнер map.
- •54. Stl. Контейнер set.
- •55. Основные алгоритмы stl. Алгоритм find.
- •56. Основные алгоритмы stl. Алгоритм max_element.
- •57. Основные алгоритмы stl. Алгоритм sort.
- •58. Основные алгоритмы stl. Алгоритм reverse.
15. Поля и методы класса.
По́ле кла́сса или атрибу́т (переменная-член, data member, class field, instance variable) в объектно-ориентированном программировании — переменная, связанная с классом или объектом. Все данные объекта хранятся в его полях. Доступ к полям осуществляется по их имени. Обычно тип данных каждого поля задаётся в описании класса, членом которого является поле.
Пример:
C++
class foo {
private:
int x; // Это поле — закрытое. Доступ к нему возможен только
// из методов класса ''foo''.
public:
int y; //Это поле — открытое. Доступ к нему возможен из
//любого места программы. Рекомендуется так не делать.
// Эти два метода ([[свойство (программирование)#Процедуры свойств|акцессор]]
// и [[w:en:Mutator method|мутатор]]) обеспечивают доступ к
// закрытому полю x. Рекомендуется делать именно так.
int get_x() {return x;};
void set_x(int x) {this->x = x; };
static int z; // Это статическое поле. Оно принадлежит классу
// foo целиком, а не его объектам.
char a:3; // Это битовые поля. В сумме они занимают
char b:3; // 8 бит, т.е. они будут размещены в одном
char c:1; // байте памяти. Таким образом возможно
char d:1; // обращаться к отдельным битам памяти.
};
Метод в объектно-ориентированном программировании — это функция или процедура, принадлежащая какому-то классу или объекту.
Как и процедура в процедурном программировании, метод состоит из некоторого количества операторов для выполнения какого-то действия и имеет набор входных аргументов.
Различают простые методы и статические методы (методы класса):
простые методы имеют доступ к данным объекта (конкретного экземпляра данного класса),
статические методы не имеют доступа к данным объекта и для их использования не нужно создавать экземпляры (данного класса).
Методы предоставляют интерфейс, при помощи которого осуществляется доступ к данным объекта некоторого класса, тем самым, обеспечивая инкапсуляцию данных.
В зависимости от того, какой уровень доступа предоставляет тот или иной метод, выделяют:
открытый (public) интерфейс — общий интерфейс для всех пользователей данного класса;
защищённый (protected) интерфейс — внутренний интерфейс для всех наследников данного класса;
закрытый (private) интерфейс — интерфейс, доступный только изнутри данного класса.
Такое разделение интерфейсов позволяет сохранять неизменным открытый интерфейс, но изменять внутреннюю реализацию.
16. Методы класса. Методы set и get.
Методы — это функции, которые могут выполнять какие-либо действия над данными (свойствами) класса. Добавим в наш класс функцию calculate_average_ball(), которая будет определять средний балл успеваемости ученика.
Методы класса — это его функции.
Метод чтения, геттер (англ. getter — получатель) — (в программировании) специальный метод, позволяющий получить данные, доступ к которым напрямую ограничен. Это один из методовобъектно-ориентированного программирования, может помочь реализовать гибкий механизм инкапсуляции. В паре с сеттером (Setter), может использоваться для организациисвойств,методов, в языках, где они не поддерживаются.
C++
class Foo
{
private:
int m_data;
public:
void setData (int data)
{
m_data = data;
}
int getData () const
{
return m_data;
}
}
Устанавливающий метод, сеттер (англ. setter) или модифицирующий метод, мутатор (англ. mutator) — специальный метод, используемый в объектно-ориентированном программировании для того, чтобы присвоить какое-либо значение инкапсулированному полю, например, обработав при этом недопустимые присваивания.
