Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Конструирование классов



Лабораторная работа 1

Цель: приобрести умения и навыки по созданию простых классов, без наследования.

Назначение: программирование класса с несколькими конструкторами и функциями-свойствами Проверка работоспособности созданного класса.

1.1. Задания

Вариант 1. Создать базовый класс «цилиндр», такой, что:

a) его экземпляр содержит размер радиуса и высоты.

b) его конструктор без параметра создает экземпляр со значением 0, а конструктор с параметрами создает экземпляр с соответствующим значением радиуса и высоты.

c) его методы позволяют получать и присваивать значения радиуса, высоты и объема, выполняя при этом соответствующие преобразования.

d) функция print_val() выводит на экран значение его объема.

Составить программу, проверяющую выполнение перечисленных функций.

Вариант 2. Создать базовый класс «шайба» (правильный шестиугольник, такой, что:

 
 


a

a) его экземпляр содержит размер стороны a.

b) его конструктор без параметра создает экземпляр со значением 0, а конструктор с параметрами создает экземпляр с соответствующим значением a.

c) его методы позволяют получать и присваивать значения a и площади , выполняя при этом соответствующие преобразования.

d) функция print_sqrt() выводит на экран значение площади этой фигуры.

Составить программу, проверяющую выполнение перечисленных функций.

перечисленных функций.

Вариант 3. Создать базовый класс «конус», такой, что:

a) его экземпляр содержит размер радиуса и высоты.

b) его конструктор без параметра создает экземпляр со значением 0, а конструктор с параметрами создает экземпляр с соответствующим значением радиуса и высоты.

c) его методы позволяют получать и присваивать значения радиуса, высоты и объема, выполняя при этом соответствующие преобразования.

d) функция print_val() выводит на экран значение его объема.

Составить программу, проверяющую выполнение перечисленных функций.

Вариант 4. Создать базовый класс «трапеция», такой, что:

a) его экземпляр содержит размер двух оснований и высоты.

b) его конструктор без параметра создает экземпляр со значением 0, а конструктор с параметрами создает экземпляр с соответствующим значением оснований и высоты.

c) его методы позволяют получать и присваивать значения оснований, высоты и площади, выполняя при этом соответствующие преобразования.

d) функция print_sqrt() выводит на экран значение ее площади.

Составить программу, проверяющую выполнение перечисленных функций.

Вариант 5. Создать базовый класс «смайлик», такой, что:

a) его экземпляр содержит размер радиуса лица R и радиуса r глаз.

b) его конструктор без параметра создает экземпляр со значением 0, а конструктор с параметрами создает экземпляр с соответствующим значением R и r.

c) его методы позволяют получать и присваивать значения R, r и площади, выполняя при этом соответствующие преобразования.

d) функция print_sqrt() выводит на экран значение ее площади (без площади глаз).

Составить программу, проверяющую выполнение перечисленных функций.

Вариант 6. Создать базовый класс «крест», такой, что:

 
 


a

 
 


b

 
 


a) его экземпляр содержит размер два размера a и b.

b) его конструктор без параметра создает экземпляр со значением 0, а конструктор с параметрами создает экземпляр с соответствующим значением a и b..

c) его методы позволяют получать и присваивать значения a, b и площади, выполняя при этом соответствующие преобразования.

d) функция print_sqrt() выводит на экран значение площади этой фигуры.

Составить программу, проверяющую выполнение перечисленных функций.

Вариант 7. Создать базовый класс «шайба» (правильный шестиугольник, такой, что:

 
 


a

a) его экземпляр содержит размер стороны a.

b) его конструктор без параметра создает экземпляр со значением 0, а конструктор с параметрами создает экземпляр с соответствующим значением a.

c) его методы позволяют получать и присваивать значения a и площади , выполняя при этом соответствующие преобразования.

d) функция print_sqrt() выводит на экран значение площади этой фигуры.

Составить программу, проверяющую выполнение перечисленных функций.

Вариант 8. Создать базовый класс «ромб»:

a) его экземпляр содержит размеры a и b.

b) его конструктор без параметра создает экземпляр со значением 0, а конструктор с параметрами создает экземпляр с соответствующим значением a и b.

c) его методы позволяют присваивать значения a, b и получать значения площади, выполняя при этом соответствующие преобразования.

d).

e) функция print_sqrt() выводит на экран значение площади этой фигуры.

Вариант 9. Создать базовый класс «песочные часы»: a

b

a) его экземпляр содержит размеры a и b.

b) его конструктор без параметра создает экземпляр со значением 0, а конструктор с параметрами создает экземпляр с соответствующим значением a и b.

c) его методы позволяют присваивать значения a, b и получать значения площади, выполняя при этом соответствующие преобразования.

d) функция print_sqrt() выводит на экран значение площади этой фигуры.

 
 


Вариант 10.
a
Создать базовый класс «четырехконечная звезда»:

b


a) его экземпляр содержит размеры a и b.

b) его конструктор без параметра создает экземпляр со значением 0, а конструктор с параметрами создает экземпляр с соответствующим значением a и b.

c) его методы позволяют присваивать значения a, b и получать значения площади, выполняя при этом соответствующие преобразования.

d).

e) функция print_sqrt() выводит на экран значение площади этой фигуры.

Вариант 11. Создать базовый класс «вигвам»

(заштрихованная фигура):

H

h

a

a) его экземпляр содержит размеры a, H и h.

b) его конструктор без параметра создает экземпляр со значением 0, а конструктор с параметрами создает экземпляр с соответствующим значением.

c) его методы позволяют присваивать значения a, h, H и получать значения площади, выполняя при этом соответствующие преобразования.

d) функция print_sqrt() выводит на экран значение площади этой фигуры.

Вариант 12. Создать базовый класс «ведро»

R

h

r

a) его экземпляр содержит размеры R, r и h.

b) его конструктор без параметра создает экземпляр со значением 0, а конструктор с параметрами создает экземпляр с соответствующим значением.

c) его методы позволяют получать и присваивать значения a и объема, выполняя при этом соответствующие преобразования R, r и h

d) функция print_val() выводит на экран значение объема этой фигуры.

2.1 Рекомендации по планированию и пример выполнения работы

Рассмотрим пример решения такого задания:

Задание:

Создать базовый класс «кольцо», такой, что:

a) его экземпляр содержит радиус внутренней окружности (не менее 1.0 мм) и площадь (не менее 10.0 мм2).

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

c) его методы позволяют получать и присваивать значения радиусов и площади, выполняя при этом соответствующие преобразования.

d) функция print() выводит на экран сообщение о радиусах и площади кольца.

Составить программу, проверяющую выполнение перечисленных функций.

Решение:

План разработки:

1. Создаем новый класс с названием Ring. При этом в текст программы автоматически включаются объявления библиотек и пространства имен.

2. В соответствии с п. a) задания вводим в класс две переменные r и s - радиус и площадь кольца.

3. Поскольку в п. a) задания указаны ограничения на переменные класса, вводим в него константы r_min и s_min - минимальный радиус и максимальная площадь.

4. Замечаем, что при реализации методов и свойств этого класса нужно учитывать введенные ограничения: сравнивать изменившиеся радиус и площадь с заданными константами. Поэтому создаем закрытую функцию MinimRS(), которая выполняет такое сравнение, и будем вызывать ее каждый раз при изменении переменных.

5. В соответствии с п. b) создаем конструктор без параметров. Поскольку С# проинициализирует поля r и s нулевыми значениями, достаточно вызвать функцию MinimRS(), чтобы реализовать такой конструктор.

6. В п. b) указана необходимость еще двух перегруженных конструкторов: конструктор с двумя аргументами-радиусами и конструктор с одним аргументом-площадью. Программируем их вычисления, не забывая вызывать функцию MinimRS().

7. В соответствии с п. с) создаем методы-свойства R_in, R_out и S. Чтобы не дублировать вычисления, отдельно программируем закрытые статические методы R1 и R2 для определения одного из радиусов по заданной площади и другому радиусу. В разделах set не забываем вызывать функцию MinimRS().

8. В соответствии с п. d) программируем функцию print() для выполнения в консольном режиме.

9. Программируем функцию Main, в которой создаем три экземпляра объектов класса Ring, чтобы проверить работу всех конструкторов. Затем вызываем все запрограммированные свойства и методы.

Ниже приведен возможный вариант реализации этого плана:

// 1.





Дата публикования: 2015-07-22; Прочитано: 453 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.012 с)...