Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
KPiYaP_otchyot_VS14.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
136.03 Кб
Скачать
  1. Применение свойства наследования на примере виртуальных и абстрактных классов

Условие задачи

Дан абстрактный класс «Геометрическая фигура», внутри него определить абстрактные и (или) виртуальные методы.

Производным классом объявить класс из индивидуального задания.

В обоих классах присутствуют конструкторы, метод ToString(), метод run() вычисления площади (периметра, объема - если это возможно).

14 вариант. Трапеция

Листинг программы:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace Лаба_6

{

public abstract class Chisla

{

public int h;

public int a;

public int b;

public double S;

public Chisla(int H, int A, int B)

{

this.h = H;

this.a = A;

this.b = B;

}

public abstract void f();

}

public class Trapiciya : Chisla

{

public double R;

public override string ToString()

{

return (string.Format(@"Объем трапеции: {1}", R, S));

}

public Trapiciya(int H, int A, int B)

: base(H, A, B)

{

}

public override void f()

{

S = ((a+b)/2)*h;

}

}

class Program

{

static void Main(string[] args)

{

Trapiciya otv = new Trapiciya(5, 10, 4); // h=5 ,a=10, b=4

otv.f();

Console.WriteLine(otv.ToString());

Console.ReadKey();

}

}

}

Тестирование программы

Рисунок 6 – Тестирование программы

  1. Использование интерфейсов

Условие задачи

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

14 Фигура - Точка - Цилиндр

Листинг программы:

sing System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace Laba_7

{

public interface IFigure

{

void vvod();

void run();

void vivod();

}

class Figure : IFigure

{

double r,v,h,p;

public void vvod()

{

p = 3.14592;

Console.Write("Введетие радиус: ");

r = Convert.ToInt32(Console.ReadLine());

Console.Write("Введетие высату: ");

h = Convert.ToInt32(Console.ReadLine());

}

public void run()

{

v = p*Math.Pow(r,2)*h;

}

public void vivod()

{

Console.WriteLine("Объем цилиндра: " + v);

}

class Figure1 : Figure

{

double s,a,b;

public void vvod()

{

Console.Write("Введетие a сторону цилиндра: ");

a = Convert.ToInt32(Console.ReadLine());

Console.Write("Введетие b сторону цилиндра: ");

b = Convert.ToInt32(Console.ReadLine());

}

public void run()

{

s = (a+b)*2;

}

public void vivod()

{

Console.WriteLine("Площадь цилиндра: " + s);

}

}

class Program

{

static void Main(string[] args)

{

Figure f = new Figure();

f.vvod();

f.run();

f.vivod();

Figure1 a = new Figure1();

a.vvod();

a.run();

a.vivod();

Console.ReadKey();

}

}

}

}

Тестирование программы

Рисунок 7 – Тестирование программы