Интерфейсы, просто подскажите с чего начать - 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; } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д