Организовать множественное наследование с использованием интерфейсов - C#

Узнай цену своей работы

Формулировка задачи:

Ребят, не знаю как решить. Может кто сможет? Задание выглядит так: Доработайте программу, созданную в лабораторной работе №11.1, следующим образом: - организуйте множественное наследование с использованием интерфейсов; - добавьте как минимум еще один интерфейс; - класс/классы должны реализовывать как минимум два интерфейса. А вот решенный пример лабораторной работы №11.1
 using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
     
    interface ICalculate
    { 
        int Add();
        int Sub();
        int Mul();
        double Div();
    }
     
    class Calculate : ICalculate
    { 
        private int a;
        private int b;
     
        public Calculate() 
        {
            a = 0;      // не обязательно
            b = 0;      // не обязательно
        }      
     
        public Calculate(int a, int b)
        {
            this.a = a;
            this.b = b;
        }
     
        public int Add()
        { return a + b; }
     
        public int Sub()
        { return a - b; }
     
        public int Mul()
        { return a * b; }
     
        public double Div()
        { return b == 0 ? 0 : (double)a / b; }
     
        // Метод, не являющийся частью интерфейса
        public int Pow()                    
        { return (int)Math.Pow(a, b); }
     
        public int getA()
        { return a; }
     
        public int getB()
        { return b; }
    }
     
    class A
    {
        static void Main()
        {
            Console.WriteLine("Введите a");
            int a = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("Введите b");
            int b = Convert.ToInt32(Console.ReadLine());
            Calculate obj1 = new Calculate(a, b);
            Calculate obj2 = new Calculate(a, b);
            Console.WriteLine("{0} + {1} = {2}", obj1.getA(), obj1.getB(), obj1.Add());
            Console.WriteLine("{0} - {1} = {2}", obj1.getA(), obj1.getB(), obj1.Sub());
            Console.WriteLine("{0} * {1} = {2}", obj2.getA(), obj2.getB(), obj2.Mul());
            Console.WriteLine("{0} / {1} = {2}", obj2.getA(), obj2.getB(), obj2.Div());
            Console.ReadKey(true);
        }
}

Решение задачи: «Организовать множественное наследование с использованием интерфейсов»

textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace ConsoleApplication3
{
    interface IRadical
    {
        double Radical();
    }
 
    interface ISquare
    {
        int Square();
    }
    interface ICalculate: IRadical,ISquare
    {
        int Add();
        int Sub();
        int Mul();
        double Div();
    }
 
    class Calculate : ICalculate
    {
        private int a;
        private int b;
 
        public Calculate()
        {
            a = 0;      
            b = 0;      
        }
 
        public Calculate(int a, int b)
        {
            this.a = a;
            this.b = b;
        }
 
        public int Add()
        { return a + b; }
 
        public int Sub()
        { return a - b; }
 
        public int Mul()
        { return a * b; }
 
        public double Div()
        { return b == 0 ? 0 : (double)a / b; }
 
        public double Radical()
        {
            return Math.Sqrt(a+b);
        }
        public int Square()
        {
            return (int)Math.Pow(a, b);
        }
        // Метод, не являющийся частью интерфейса
        public int Pow()
        { return (int)Math.Pow(a, b); }
 
        public int GetA()
        { return a; }
 
        public int GetB()
        { return b; }
        
    }
 
    class A
    {
        static void Main()
        {
            Console.Write("Введите a:");
            int a = Convert.ToInt32(Console.ReadLine());
            Console.Write("Введите b:");
            int b = Convert.ToInt32(Console.ReadLine());
            Calculate obj1 = new Calculate(a, b);
            Calculate obj2 = new Calculate(a, b);
            Console.WriteLine("{0} + {1} = {2}", obj1.GetA(), obj1.GetB(), obj1.Add());
            Console.WriteLine("{0} - {1} = {2}", obj1.GetA(), obj1.GetB(), obj1.Sub());
            Console.WriteLine("{0} * {1} = {2}", obj2.GetA(), obj2.GetB(), obj2.Mul());
            Console.WriteLine("{0} / {1} = {2}", obj2.GetA(), obj2.GetB(), obj2.Div());
            Console.WriteLine("({0} + {1})^0.5 = {2}", obj2.GetA(), obj2.GetB(), obj2.Radical());
            Console.WriteLine("{0} ^ {1} = {2}", obj2.GetA(), obj2.GetB(), obj2.Square());
            Console.ReadKey(true);
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.167 из 5
Похожие ответы