Интерфейсы, просто подскажите с чего начать - C#

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

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

Не могу понять с чего мне начать все это делать. может подскажите. Не могу себе представить как это все будет выглядеть. Спасибо.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
/*
 * Реализовать системы электрических источников и приборов, соединенных между собой через шнуры. 
 * В интерфейсах должны быть предусмотрена возможность получения информации о напряжении и максимальной мощности, которую поддерживает элемент. 
 * Прибор должен иметь наименование, потребляемую мощность, а источник и провод – списки подключенных приборов.
 *  Интерфейсы:         
 *  IElectricSource (источник тока)
 *  IElectricAppliance (электрический прибор 
 *  IElectricWire (электрический шнур)
 *  Классы:
 *  SolarBattery (солнечная батарея)
 *  DieselGenerator (дизельный генератор)
 *  NuclearPowerPlant (атомная электростанция)
 *  Kettle (чайник)
 *  Lathe (токарный станок)
 *  Refrigerator (холодильник)
 *  ElectricPowerStrip (электрический удлинитель)
 *  HighLine (высоковольтная линия)
 *  StepDownTransformer (понижающий трансформатор, должен реализовывать интерфейсы и потребителя и источника тока)
 *  
 */
namespace IElectric
{
    interface IElectricSource<T>
    {

    }
    interface IElectricAppliance<T>
    {
 
    }
    interface IElectricWire<T>
    {
 
    }
 
    class Program
    {
       
        static void Main(string[] args)
        {
        }
    }
}

Решение задачи: «Интерфейсы, просто подскажите с чего начать»

textual
Листинг программы
public abstract class ElectricAppliance
{
    string Name { get; }
    double Voltage { get; }
    double Power { get; }
}
 
public interface IElectricSource
{
    IEnumerable<IElectricAppliance> ConnectedAppliances { get; }
}
 
public interface IElectricSpender
{
    IElectricSource ElectricSource { get; }
}
 
// Розетка
// Можете переделать под вашу "HighLine (высоковольтная линия)"
// Socket <-(has-a)- ElectricAppliance
// Socket <-(is-a)- IElectricSource
public class Socket : ElectricAppliance, IElectricSource
{
    public string Name { get; }
    public double Voltage { get; }
    public double Power { get; }
    public IEnumerable<IElectricAppliance> ConnectedAppliances { get; }
}
 
 
// Kettle <-(has-a)- ElectricAppliance
// Kettle <-(is-a)- IElectricSpender
public class Kettle : ElectricAppliance, IElectricSpender
{
    public string Name { get; }
    public double Voltage { get; }
    public double Power { get; }
    public IElectricSource ElectricSource { get; }
}

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


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

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

6   голосов , оценка 4 из 5