Абстрагирование и классы. Защита данных


На основе абстрагирования решение какой-либо проблемы выражается в понятиях представления информации, в терминах её преобразований и взаимодействие с ней разработчика программной системы. В результате создаётся абстрактные представления самых важных операционных особенностей проблемы, выделяются операционные термины (имена операций), необходимые для решения проблемы и решение отдельных задач формулируется на основе этих операций.

От абстракции к реализации всего один шаг. В С++ описание класса обеспечивает формирование интерфейса, содержащего операционные термины – имена операций с параметры. Реализация класса определяет решение задачи.

Описание классов, а также применение принципа абстрагирования выполнимы на основе следующего примера, приведённого в книге Стивена Прата: «Язык программирования С++. Лекции и упражнения». Определяемый класс, представляет пакет акций. Перечень операций, которые необходимо реализовать включает:

  1. получение пакета в компании
  2. приобретение дополнительных акций того де пакета
  3. продажа пакета
  4. корректировка средней стоимости одной акции пакета
  5. отображение данных о пакете акций

 

Для поддержки этого интерфейса необходимо хранить некоторые виды информации:

  1. наименование компании
  2. число акций в пакете
  3. цена каждой акции
  4. общая стоимость всех акций и пакета

 

class Stock // объявление класса, представляющего пакет акций
{

private:

char company[30];//имя компании

int shares;//число акций

double share_val;//стоимость одной

double total_val;//стоимость пакета

void set_tot()
{total_val = shares* share_val;}

public:

void acquire(const char* co, int n, double pr);//приобретение пакета

void buy(int num, double price);//приобретение дополнительных акций

void sell(int num, double price);//продажа

void update(double price);//корректировать стоимость

void show();//данные о пакете

};

 

Подробная спецификация делается либо в .h – файлах, либо в .cpp – файлах.

Обычно предпочитают .h – файлы. Реализация функций или методов классов обычно всегда выполняется в .cpp – файлах.

Ключевые слова – private и public описывают управление доступом. Так, public – указывает, что доступ к операциям или данным возможен из любой точки программы, а private – только из других методов (функций) этого же класса.

Это объявление класса позволяет объявлять в программе переменные, именуемые объектами или экземплярами класса Stock:

 

Stock sally, solly;

 

Создаются два объекта типа Stock.

Переменные и методы в разделе public класса определяют интерфейс класса.

 

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



Дата добавления: 2016-05-26; просмотров: 1637;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.007 сек.