Я хочу реализовать программу мини-рынка. есть абстрактный класс с именем (Товары) и два производных класса из него (сухие и холодные товары). Как добавить некоторые элементы после этого? (яйца, молоко, рис ... и т. д.)Как создать экземпляр абстрактного класса C#?
ответ
Вы не можете создать экземпляр абстрактного класса. Единственная цель - действовать как базовый класс. Ваши яйца, молоко, рис класс должен быть унаследован от товаров и реализации функциональности, как показано ниже:
public abstract class Goods
{
}
public class DryGoods : Goods
{
}
public class ColdGoods : Goods
{
}
Вы можете иметь более примитивные элементы Наследование от сухих или холодных товаров.
public class Egg : DryGoods
{
}
public class Milk : ColdGoods
{
}
В качестве альтернативы, если вам не нужны Milk
или Egg
в легких весовых классов (или переводные объекты), вы могли бы просто использовать полученные DryGoods
или ColdGoods
типов непосредственно и имеют GoodsType
свойство:
DryGoods egg = new DryGoods();
egg.GoodsType = DryGoods.Egg;
ColdGoods milk = new ColdGoods();
milk.GoodsType = ColdGoods.Milk;
'DryGoods' и' ColdGoods', вероятно, должны быть абстрактными тоже, а не ради кода, но ради бизнес-логики. –
Если бы вы, я создаю некоторый экземпляр DryGoods и ColdGoods вместо создания нового Entity. –
Если я делаю объекты из производных классов, то в чем польза (GoodsType)? – Saja
Вы должны создать объект подкласса и использовать этот объект подкласса, вы можете установить значения. Вы не можете создать абстрактный класс. Вы можете использовать его только как базовый класс ..
спасибо, где я должен делать объекты? в реализации WinForm? – Saja
в файле .cs. Вы должны сделать объект в подклассе. –
Посмотрите, у вас есть один абстрактный базовый класс:
public abstract class Good { }
И у вас есть именованные классы:
public class Egg : Good { }
public class Milk : Good { }
public class Rice : Good { }
Теперь вы можете добавить Свойства и методы для базового класса Хорошо.
Теперь Вы можете также добавить свойства и методы к названному классов яиц, молока и риса :)
Теперь вы можете иметь несколько яиц, молока и риса, если переименовать Goods
в Good
:
var allGoods = new List<Good>();
var eggs = new Egg[16];
allGoods.Add(eggs);
var milk = new Milk[64];
allGoods.Add(milk);
var rice = new Rice[64];
allGoods.Add(rice);
- 1. Невозможно создать экземпляр абстрактного класса
- 2. Создать экземпляр производного абстрактного класса в C++
- 3. Невозможно создать экземпляр абстрактного класса
- 4. C++ не может создать экземпляр абстрактного класса
- 5. C++ не удается создать экземпляр абстрактного класса
- 6. создать объект абстрактного класса! = Создать экземпляр абстрактного класса?
- 7. Как создать экземпляр дочернего одноэлементного абстрактного класса?
- 8. экземпляр абстрактного класса в C++
- 9. Как создать экземпляр абстрактного класса в Java?
- 10. Ошибка «Невозможно создать экземпляр абстрактного класса»
- 11. Обертка не может создать экземпляр абстрактного класса
- 12. .net создать экземпляр объекта от абстрактного класса
- 13. JAXB не удалось создать экземпляр абстрактного класса
- 14. Можно ли создать экземпляр абстрактного класса?
- 15. Экземпляр абстрактного класса InputStream
- 16. JMockit экземпляр абстрактного класса
- 17. Как создать экземпляр внутреннего класса абстрактного класса - Java
- 18. Как создать экземпляр анонимного класса абстрактного класса в Котлине?
- 19. Невозможно создать экземпляр абстрактного класса в C++-ошибке
- 20. C#: Не удается создать экземпляр абстрактного класса или интерфейса
- 21. Невозможно создать экземпляр абстрактного класса с помощью C++ 11
- 22. «Невозможно создать экземпляр абстрактного класса или интерфейса» сообщение C# ошибка
- 23. Как C# создать экземпляр класса?
- 24. Как создать массив абстрактного класса в C++
- 25. Динамически создать экземпляр класса, который является производным от абстрактного класса
- 26. Экземпляр абстрактного класса не работает
- 27. Как определить статический экземпляр абстрактного класса?
- 28. Как создатель ImmutableMap может создать экземпляр абстрактного класса?
- 29. Как создать экземпляр абстрактного класса элементов управления системой в WPF?
- 30. Java - анонимный экземпляр абстрактного класса
Просто наследуйте их от 'DryGoods' или' ColdGoods'? Можете ли вы [изменить] вопрос, чтобы показать классы, которые у вас есть, и как вы хотите использовать другие (яйца, молоко и т. Д.) – Rhumborl
У меня есть другие классы (холодильник), (полки) и (корзина) Я хочу использовать предметы положить их на полки или в холодильник. и сделать winform, чтобы показать предметы, поместить их в корзину и выписку, например, клиенты – Saja