在 C# 中的抽象 class 中的具体方法中调用抽象方法

calling an abstract method in a concrete method inside an abstract class in C#

我有以下场景,其中抽象 class 具有 class 类型的抽象方法,并且抽象方法已在同一抽象 class 的具体方法中调用。

有人可以解释一下 OOPS 的概念吗? 对不起,如果我问的是愚蠢的问题。

using FactoryPattern.PizzaProduct;

namespace FactoryPattern.PizzaStore
{
    public abstract class PizzaStore
    {
        public Pizza OrderPizza(PizzaType type)
        {
            var pizza = CreatePizza(type);
            pizza.Prepare();
            pizza.Bake(); 
            pizza.Cut();
            pizza.Box();
            return pizza;
        }
        protected abstract Pizza CreatePizza(PizzaType type);
    }
}

这叫做Template Method pattern

此模式允许子 class 仅实现相关的逻辑位,而无需了解封装在父 class 中的知识。

用你的话来说,它允许每个特定的比萨饼店定义比萨饼的一些特征,而无需知道比萨饼必须如何准备、烘烤、切割、装盒。