是否有可能有一个抽象类,但FORCE实现类只有抽象类中的公共方法?
我不关心私有方法是如何工作的,但我想强制这些类只有一个公共方法.
例如,假设我有以下抽象类:
class MyObjectTransform
{
public:
virtual ~MyObjectTransform()
{
}
virtual MyObject transform(MyObject input) = 0;
};
Run Code Online (Sandbox Code Playgroud)
然后我想强制所有继承自的对象MyObjectTransform只有一个(构造函数除外)公共方法,transform.我不关心继承类有哪些私有方法.这可能吗?
更新: 此处的目标是强制开发人员仅通过单个方法公开功能.例如,考虑这种情况:
class ATransform
{
private:
MyObject A_Stuff(MyObject input);
public:
override MyObject transform(MyObject input)
{
return this->A_stuff(input);
}
};
class BTransform
{
public:
MyObject B_Stuff(MyObject input);
override MyObject transform(MyObject input)
{
return this->B_stuff(input);
}
};
Run Code Online (Sandbox Code Playgroud)
这里的问题是开发人员可以B_Stuff直接调用.我想阻止这个.