假设我有一个从水果类如何根据不同的参数创建不同类的不同对象?
扩展苹果类和我有一个从水果类扩展橙类太
两个班有两个不同的构造
苹果有苹果(大小,颜色,味道,重量);橙色有橙色(大小,半径,直径);
每个对象有自己独特的方法,我必须调用
如何创建不同的情况下,仅仅通过创建水果类?根据不同的参数?像
Fruit a = new Fruit(int size, int colour, String taste, int weight); To create apple
Fruit a = new Fruit(int size, int radius, int diameter); To create orange
我该怎么做?请帮助
UPDATE:
我明白我必须用工厂,但我并没有训练做,我怎么使用工厂在C#实现上述
因为我的老板只说他希望用户在不关心水果名称的情况下将参数输入水果类。他告诉我用java调用工厂,我该怎么做?
简而言之:你不知道。构造函数是特定于水果类型的,那么为什么你会试图在基类水果中强制它们的构造函数呢?如果你知道你正在创建一个Apple(因为你正在调用Apple特定的构造函数),为什么不用新的Apple()代替Fruit()呢? 您可能想看看一个工厂,您可以在其中实施CreateFruit并带有多个重载,以根据签名返回特定的水果。 –
'每个对象都有自己独特的方法 - 但你的问题被标记为[多态] - 我认为你需要去查找那个单词。另外,我认为你需要向老板寻求澄清。他被问到的你毫无意义。 – Jamiec
他的意思是他希望Fruit对象根据用户输入的参数自动将对象分类为Apple或Orange,而不必声明苹果或橙色 – user2399158