Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

КОНСТРУИРОВАНИЕ КЛАССОВ

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

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

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

1.1. Задания

 

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

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

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

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

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

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

 

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

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

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

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

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

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

 

Вариант 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.

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

Namespace Lek_1_08

{

Class Ring // Кольцо

{

// 2.

double r=0; // радиус внутренней окружности (мм)

double s=0; // площадь кольца (кв.мм)

// 3.

const double r_min=1.0; // Ограничение на внутренний радиус (мм)

const double s_min=10.0; // Ограничение на площадь (кв.мм)

// 4.

Void MinimRS()

{ // Приводит неправильные значения полей

// в соответствие с условием задачи

r = Math.Max(r, r_min);

s = Math.Max(s, s_min);

}

// 7-Б.

 




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

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.