Опишите объявление производного класса в программе и его содержимое.



Учебная практика по программированию

Занятие 9

Вариант 2

Тема : Механизм наследования. Полиморфизм.

Цель занятия : актуализация знаний об отношениях между классами, виртуальных методах,реализации полиморфизма и множественного наследования.

Ход работы

1. Составьте конспект теоретического материал с ответами на контрольные вопросы.

2. Составьте блок-схему алгоритма решения задачи согласно заданию.

3. Разработайте на основании построенной блок-схемы алгоритма программу.

4. Оформите отчет о проделанной работе.

Задание 2 . Составьте программу, содержащую:

 

1) Базой класс, содержащий виртуальную ли чисто виртуальную функцию;

2) Производные классы (минимум два), дополняющий базовой и содержащие переопределенные виртуальные функции;

3) Объект классов, демонстрирующие возможности каждого из классов.

 

Разработайте программу с использованием класса Trapeze (трапеция), в котором реализовано вычисление периметра (P =a+b+c+d), площади трапеции, а также длину средней линии трапеции. Класс должен содержать конструктор по умолчанию и конструктор инициализации.

class Trapeze

{

   public double a { get; set; }

   public double b { get; set; }

   public double c { get; set; }

   public double d { get; set; }

 

   public Trapeze()

   {

   }

 

   public Trapeze(double a, double b, double c, double d)

   {

       this.a = a;

       this.b = b;

       this.c = c;

       this.d = d;

   }

 

   public double Area()

   {

       double p = (a + b + c + d) / 2;

       return Math.Sqrt((p - a) * (p - b) * (p - c) * (p - d));

   }

 

   public double Perimetr()

   {

       return a + b + c + d;

   }

 

   public double Circle()

   {

       double p = (a + b + c + d) / 2;

       return 1.0 / 4 * Math.Sqrt((a * b + c * d) * (a * d + b * c) * (a * c + b * d) / ((p - a) * (p - b) * (p - c) * (p - d)));

   }

   class Program

   {

       static void Main(string[] args)

       {

           Trapeze trapeze = new Trapeze(1, 1, 1, 1);

 

           Console.WriteLine("Площадь: " + Trapeze.Area());

           Console.WriteLine("Периметр: " + Trapeze.Perimetr());

           Console.ReadKey();

       }

   }

}

}

 

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

Охарактеризуйте принцип наследования ООП.

Инкапсуляция - это использование объединения данных и инструкций по их обработке в единую сущность - класс.

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

Еще один принцип ООП - полиморфизм. Его использование означает, что для манипуляции с объектами разной степени сложности можно создать один интерфейс, который будет по-разному реагировать на события и одновременно правильно реализовывать поставленные задачи.

Дайте понятие определению «класс».

Класс – обобщенное понятие, определяющее характеристики, поверх которого множество конкретных объектов этого класса.

Дайте понятия определениям «базовый класс», «производный класс».

В языке C# класс, который наследуется, называется базовым, а класс, который наследует, — производным.

Опишите объявление производного класса в программе и его содержимое.

Этот производный тип вводится в программу с помощью специального оператора объявления класса. В объявлении класса используется ранее описанный инструментальный набор средств для построения и преобразования производных типов. Очередное множество форм Бэкуса-Наура определяет синтаксис объявления класса. Объявление ::= [Список Спецификаторов Объявления] [Список Описателей]


Дата добавления: 2019-07-15; просмотров: 340; Мы поможем в написании вашей работы!

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






Мы поможем в написании ваших работ!