Разработка программ с использованием классов

  • doc
  • 29.04.2020
Публикация на сайте для учителей

Публикация педагогических разработок

Бесплатное участие. Свидетельство автора сразу.
Мгновенные 10 документов в портфолио.

Иконка файла материала 91. Практическая работа по теме Разработка программ с использованием классов.doc

Лабораторная работа №6

Разработка программ с использованием классов

Цель: изучить основные способы работы с пользовательским типом данных «класс», его объектами, методами и способы доступа к ним.

Вид работы: индивидуальный.

Время выполнения: 4 часа.

Теоретические сведения:

Основное отличие С++ от С состоит в том, что в С++ имеются классы. С точки зрения языка С классы в С++ - это структуры, в которых вместе с данными определяются функции. Это и есть инкапсуляция в терминах ООП.

 

Класс (class) - это тип, определяемый пользователем, включающий в себя данные и функции, называемые методами или функциями-членами класса.

 Данные класса - это то, что класс знает.

 

 Функции-члены (методы) класса - это то, что класс делает.

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

Объявление класса

 

Приведем пример объявления класса

 

class my_Fun

 {

 // компоненты-данные

 double x,y; 

 // компоненты-функции

 public:

 // функция инициализации

 void set(char *c,double X)

 {

 x=X;

 y=sin(x);   

 }

 // функция вывода результатов

 void print(void)

 {

 cout << point<<y << endl;

 }

 };

 

 Обычно описания классов включают в заголовочные файлы (*.H), а реализацию функций-членов классов - в файлы *.CPP.

Для каждого объекта класса устанавливается область видимости либо явно – указанием уровня доступа одним из ключевых слов public, private, protected с двоеточием, либо неявно – по умолчанию. Указание области видимости относится ко всем последующим объектам класса, пока не встретится указание другой области видимости. Область видимости public разрешает доступ к объектам класса из любой части программы, в которой известен этот объект (общедоступный). Область видимости private разрешает доступ к объектам класса только из методов этого класса. Объекты с такой областью видимости называют частными. Область видимости protected определяется для защищенных объектов, она имеет смысл только в иерархической системе классов и разрешает доступ к объектам этой области из методов производных классов. В теле класса ключевое слово области видимости может использоваться неоднократно. Область видимости для объектов типа «класс» по умолчанию private.

Способы объявления и инициализации объектов и доступ к методам класса:

 

1. Прямой вызов

 

my_Fun Fun1; //объявление объекта1,но не инициализация

 Fun1.set("Function1 = ",1.0); // инициализация данных

 Fun1.print();                 // прямой вызов

 cout << "Input enter1..." << endl<<endl;

 

2. Косвенный вызов

 

my_Fun *p1 = &Fun1;  // воспользовались объектом 1

                      // новая инициализация

 p1->set("Function1 = ",1.0); // косвенный вызов  

 p1->print();                  // косвенный вызов   

 cout << "Input enter1..." << endl<<endl;

 

3. Динамическое выделение памяти

 

my_Fun *p1 = new my_Fun;

 p1->set("Function1 = ",1.0);  // косвенный вызов  

 p1->print();                  // косвенный вызов  

 cout << "Input enter1..." << endl<<endl;

 

// удаляется динамически выделенный объект

 delete p1;

Ход работы:

Пользовательский класс должен содержать необходимые элементы-данные, метод установки их начальных значений:

Void set(double X, …);

 метод печати:

Void print(void);

 метод, решающий поставленную задачу:

Void Run(void);

 Код методов – вне пространства определения класса. Программа должна включать в себя статический и динамический способы создания объектов, и для каждого объекта использовать прямую и косвенную адресацию при вызове методов класса.

Задания к работе:

1.       

При x=14.26, y=-1.22, z=3.5 t=0.564849.

2.       

При x=-4.5, y=0.75,z=0.845 u=-55.6848.

3.       

При x=3.74, y=-0.825, z=0.16, v=1.0553.

4.       

При x=0.4 ,y=-0.875, z=-0.475 w=1.9873.

5.       

При x=-15.246, y=4.642, z=20.001 =-182.036.

6.       

При x=16.55, y=-2.75, z=0.15 =-40.630.

7.       

При x=0.1722, y=6.33, z=3.25 =-205.305.

8.       

При x=-2.235, y=2.23, z=15.221 =39.374.

9.       

При x=1.825, y=18.225, z=-3.298 =1.2131.

10.  

При x=6.251, y=0.827, z=25.001 b=0.7121.

 

 

Контрольные вопросы:

1)                Что значит в ООП понятие «класс», и какой формат его объявления в программе?

2)                Что такое объект класса, что он содержит?

3)                Какие существуют  уровни доступа к объектам  и методам класса (дать характеристику каждому)?

Что такое операция привязки, ее основное назначение?


Скачано с www.znanio.ru