相关疑难解决方法(0)

44
推荐指数
1
解决办法
2万
查看次数

静态多态定义和实现

关于静态多态性的概念我有些疑问,我有些时候会听到; 您可能主要在C++的上下文中解释它们,但我会欣赏适用的语言无关的答案(因此标记C++和语言不可知).

  1. 我们如何定义静态多态?作为一个例子,我相信,std::sort因为它取决于由一些对象,其提供了一些接口上从C++函数应被视为静态多态性表现得像迭代器,并且提供迭代器的接口下确切行为可在编译时被确定.这是解释我们如何定义静态多态,或者它只是对特定案例的描述,还有更多内容吗?

  2. 在C++中使用静态多态的常见代码模式是什么?另外:SP 只能通过C++中的模板实现吗?

  3. 这是真的,一个给定的UML类图不直接描述多态性是如何处理的,因此,它可以被至少部分地或者静态地或者动态地执行?换句话说:静态与动态多态的选择是否独立于OOP模型,因此由实现者决定?

  4. 静态多态只是C++特定的并且与模板的工作方式有关吗?如果没有,它是否存在于C++以外的任何其他主流语言中?我们可以在Java,C#中拥有等效的静态多态性吗?任何东西,它会带来什么好处吗?

  5. 最重要的...... 使用静态多态性的实际好处是什么?我认为我们可以同意它降低了代码的灵活性; 有什么优点,除了 - 在C++的情况下 - 保存一个指针解除引用(虚函数/指针到函数/委托成本)?什么是静态多态性特别有用的问题类,是实现的正确选择?

c++ language-agnostic design-patterns static-polymorphism

28
推荐指数
2
解决办法
2万
查看次数