Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
shpory_pomoi_vse.docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
1 Мб
Скачать
☆

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) — специальный метод, используемый в объектно-ориентированном программировании для того, чтобы присвоить какое-либо значение инкапсулированному полю, например, обработав при этом недопустимые присваивания.

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