禁止私有虚拟功能的原因是什么?
空私有虚拟可以启用低摩擦纯定制点.
抽象功能具有高摩擦力,受保护的虚拟引起混乱和噪音.
进一步说明:
非虚拟接口模式将接口责任(公共)与提供定制点(虚拟)分开.
在课堂设计中使用NVI时,我必须保护我的虚拟机.可以选择将它们设为私有使得意图更加强大.这意味着后代只能提供定制,并且不会混淆是否调用基数,事实上它是被禁止的.一定有充分的理由明确禁止它(诊断:"私有方法不能是多态的").
私有成员意味着派生类无法访问它.
虚拟成员意味着派生类可以覆盖它.
如果某个成员无法访问该成员,则该成员不能覆盖该成员.
折扣嵌套类.