商场设计继承C#

时间:2016-05-23 14:10:48

标签: c# inheritance

我正在为C#的购物中心建立一个项目,购物中心将有几家商店。每个商店都有不同的成本计算方法,例如

披萨店只根据订购的比萨饼和/或饮料数量计算成本:

public class PizzaShop
    {
        public double order(int numberOfPizzas, PIZZA pizza, int numberOfDrinks, DRINK drink)
        {
            double costOfPizzas;
            if (pizza == PIZZA.margarita)
            {
                costOfPizzas = 5;
            }
            else
            {
                costOfPizzas = 6;
            }

            // find drinks cost similarly and return the total:
            return (costOfPizzas * numberOfPizzas) + (costOfDrinks * numberOfDrinks);
        }
    }

(这里的PIZZA和DRINK是代表不同类型的比萨饼和饮料的枚举品。)

奶酪店根据订购的奶酪的种类和类型计算成本。

所以,我在想这个设计中的继承。比萨店和奶酪店的相似之处在于它们都是购物中的商店,它们都以某种方式计算成本(有订单方法)。然而,这种方式是不同的。因此方法" order()"将为每个不同的商店采取不同的参数。这意味着我无法使用界面或抽象类来表示我的设计来表示General Shop。什么是优雅的设计方法?

谢谢。

1 个答案:

答案 0 :(得分:2)

这样做的一种方式是:

mc-embedded-subscribe-form