Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Объектно-ориентC#2007.doc
Скачиваний:
6
Добавлен:
14.11.2019
Размер:
201.22 Кб
Скачать

Этапы выполнения лабораторной работы

  1. (Описание класса) В соответствии, с вариантом задания описать класс. Класс должен иметь два конструктора, один конструктор по умолчанию, другой с параметрами. Одно поле класса должно быть закрытым, остальные члены класса должны быть открытыми. Поскольку в классе есть закрытое поле, то в нем надо определить два открытых метода, которые будут работать с этим полем. Первый метод должен записывать информацию в закрытое поле, предварительно выполнив проверку на корректность, второй метод должен считывать и возвращать информацию, записанную в закрытом поле.

  2. (Создание объектов класса, с которыми могут работать методы класса главной формы). Создать три новых поля класса главной формы. Одно поле – это объект Вашего класса, созданный конструктором по умолчанию. Второе поле – это объект Вашего класса, созданный конструктором с параметрами. Третье поле – это ссылка на объект Вашего класса.

  3. (Выбор активного объекта.) Во время выполнения второго задания создаются два объекта, они отличаются только начальными значениями, далее работа с ними должна быть одинаковой. Программа в каждый момент времени может работать только с одним объектом (изменять значения полей, вызывать методы и т.д.), который называется активным или текущим. Выбор активного объекта пользователь может осуществить с помощью переключателя. В соответствии с вариантом задания установить переключатель, определяющий активный объект.

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

  5. (Создание локального объекта, т.е. объекта с которым может работать только один метод). Поместить на форму кнопку, обработчик события Click которой должен выполнить следующие действия: а) создать локальный экземпляр Вашего класса с использованием конструктора с параметрами, причем значения параметров должны быть считаны из полей ввода; в) для вновь созданного локального экземпляра вызвать методы и вывести на экран возвращенные ими значения.

  6. Дать поясняющие пользовательские имена всем компонентам, выведенным на форму.

  7. Отладить программу.

План отчета

  1. Титульный лист.

  2. Цель работы.

  3. Задание.

  4. Теоретический материал, используемый при выполнении задания.

  5. Распечатка программы.

Варианты индивидуальных заданий

Варианты переключателей:

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

в) Две радиокнопки. Названия радиокнопок должны определять активный объект.

  1. Класс, описывающий прямоугольник. Класс должен иметь методы, решающие следующие задачи:

    1. ввод значения закрытого поля класса, значение должно лежать в интервале от 1 до 10;

    2. вывод значения закрытого поля;

    3. расчет длины диагонали;

    4. расчет площади прямоугольника.

  2. Класс, описывающий квадрат. Класс должен иметь методы, решающие следующие задачи:

    1. ввод значения закрытого поля класса, значение должно лежать в интервале от 2 до 12;

    2. вывод значения закрытого поля;

    3. расчет длины диагонали;

    4. расчет периметр квадрата.

  3. Класс, описывающий равнобокую трапецию. Класс должен иметь методы, решающие следующие задачи:

    1. ввод значения закрытого поля класса, значение должно лежать в интервале от 1 до 11;

    2. вывод значения закрытого поля;

    3. расчет периметра трапеции;

    4. расчет площади трапеции.

  4. Класс, описывающий окружность. Класс должен иметь методы, решающие следующие задачи:

    1. ввод значения закрытого поля класса, значение должно лежать в интервале от 11 до 20;

    2. вывод значения закрытого поля;

    3. расчет длины окружности;

    4. расчет площади окружности.

  5. Класс, описывающий прямоугольный треугольник. Класс должен иметь методы, решающие следующие задачи:

    1. ввод значения закрытого поля класса, значение должно лежать в интервале от 3 до 17;

    2. вывод значения закрытого поля;

    3. расчет гипотенузы;

    4. расчет площади треугольника.

  6. Класс, описывающий правильный треугольник. Класс должен иметь методы, решающие следующие задачи:

    1. ввод значения закрытого поля класса, значение должно лежать в интервале от 2 до 11;

    2. вывод значения закрытого поля;

    3. расчет периметра;

    4. расчет площади треугольника.

  7. Класс, описывающий равнобедренный треугольник. Класс должен иметь методы, решающие следующие задачи:

    1. ввод значения закрытого поля класса, значение должно лежать в интервале от 2 до 11;

    2. вывод значения закрытого поля;

    3. расчет периметра;

    4. расчет площади треугольника.

  8. Класс, описывающий правильный шестиугольник. Класс должен иметь методы, решающие следующие задачи:

    1. ввод значения закрытого поля класса, значение должно лежать в интервале от 2 до 11;

    2. вывод значения закрытого поля;

    3. расчет периметра;

    4. расчет большой диагонали шестиугольника.

  9. Класс, описывающий шар. Класс должен иметь методы, решающие следующие задачи:

    1. ввод значения закрытого поля класса, значение должно лежать в интервале от 1 до 15;

    2. вывод значения закрытого поля;

    3. расчет диаметра шара;

    4. расчет объем шара.

  10. Класс, описывающий прямоугольный параллелепипед. Класс должен иметь методы, решающие следующие задачи:

    1. ввод значения закрытого поля класса, значение должно лежать в интервале от 4 до 10;

    2. вывод значения закрытого поля;

    3. расчет площади боковой поверхности прямоугольного параллелепипеда;

    4. расчет объема прямоугольного параллелепипеда.

  11. Класс, описывающий правильную треугольную призму. Класс должен иметь методы, решающие следующие задачи:

    1. ввод значения закрытого поля класса, значение должно лежать в интервале от 7 до 20;

    2. вывод значения закрытого поля;

    3. расчет площади боковой поверхности правильной треугольной призмы;

    4. расчет объема правильной треугольной призмы.

  12. Класс, описывающий круглый прямой цилиндр. Класс должен иметь методы, решающие следующие задачи:

    1. ввод значения закрытого поля класса, значение должно лежать в интервале от 6 до 16;

    2. вывод значения закрытого поля;

    3. расчет диаметра цилиндра;

    4. расчет объема цилиндра.

  13. Класс, описывающий круглый прямой конус. Класс должен иметь методы, решающие следующие задачи:

    1. ввод значения закрытого поля класса, значение должно лежать в интервале от 4 до 18;

    2. вывод значения закрытого поля;

    3. расчет диаметра конуса;

    4. расчет объема конуса.

  14. Класс, описывающий правильную четырехугольную пирамиду. Класс должен иметь методы, решающие следующие задачи:

    1. ввод значения закрытого поля класса, значение должно лежать в интервале от 8 до 38;

    2. вывод значения закрытого поля;

    3. расчет периметр основания пирамиды;

    4. расчет объема пирамиды.

  15. Класс, описывающий правильную треугольную пирамиду. Класс должен иметь методы, решающие следующие задачи:

    1. ввод значения закрытого поля класса, значение должно лежать в интервале от 6 до 28;

    2. вывод значения закрытого поля;

    3. расчет периметр основания пирамиды;

    4. расчет объема пирамиды.

Вопросы:

  1. Что такое класс?

  2. Как описывается класс?

  3. Что задает слово public?

  4. Как происходит доступ к членам класса?

  5. Как вызвать метод класса?

  6. Что такой конструктор класса?

  7. В какой момент происходит вызов конструктора?

  8. Может ли класс содержать несколько конструкторов?

  9. В каком случае создается конструктор компилятором?

Лабораторная работа №3 Наследование классов.

Цель работы - изучение основных принципов наследования, создание собственной иерархии классов.

Справочный материал

Наследование

Одним из наиболее мощных свойств класса С++, является возможность их расширения с помощью наследования. Наследование – это создание нового класса путём добавления новых членов к уже существующему классу. Класс, к которому добавляются новые члены называется базовым или родительским классом, а вновь созданный класс производным или дочерним классом.

Двоеточие после имени класса указывает компилятору на то, что класс является производным от другого класса. За двоеточием следует имя базового класса.

Напоминание: методы производного класса могут работать только с открытыми ( public ) и защищёнными ( protected и и protected internal) членами базового класса. И если классы находятся в одной сборке, то членами, имеющими уровень доступа internal. И не могут работать с собственными ( private ) членами базового класса. и

Пример:

сlass cir: vec {

public int R;

public void fun(void)

{ return x*y+R;}

};

Класс cir является наследником класса vec, метод fun использует наравне с полем R , поля базового класса x,y, что возможно в том случае, когда уровень доступности указанных полей либо public, protected.