接口设计问题

weixin_34804951 2017-08-01 05:00:11
加精
我准备设计一个接口类,只有一个方法,参数从简只有三个。

子类有几种,其中一种需要很多额外工作,还需要外部传进去6个参数,所以我在那个子类多写了两个方法来设置参数

但是这样的话怎么更好的调用接口呢,一个接口类的指针又调用不到子类本身的方法。
...全文
7106 35 打赏 收藏 转发到动态 举报
写回复
用AI写文章
35 条回复
切换为时间正序
请发表友善的回复…
发表回复
代码运输员 2017-11-10
  • 打赏
  • 举报
回复
接口就是要封装子类的,你应该把子类和客户交互的需求都考虑到.现在接口设计有问题,要不接口参数个数不固定,要不接口里添加一个添加参数的函数
Acuity. 2017-10-31
  • 打赏
  • 举报
回复
顶起来,不要沉了
噫吁嚱hhh 2017-10-21
  • 打赏
  • 举报
回复
VS中如何实现label在form中的左右移动,求代码
Jio_Yang 2017-10-18
  • 打赏
  • 举报
回复
UP 一下
日月路明 2017-10-18
  • 打赏
  • 举报
回复
通过参数序列化,一个参数就够了
qq_40638950 2017-10-15
  • 打赏
  • 举报
回复
我想积分机一下,怎么积分啊
薛悖 2017-10-11
  • 打赏
  • 举报
回复
燕子 S; 动物 *pA = &S; 燕子 *pS = dynamic_cast<燕子 *>(pA); //转换成功 pS != NULL 狗 D; pA = &D; pS = dynamic_cast<燕子 *>(pA); //转换失败 pS == NULL ---------------------------------------------------------------------------------------- 可以将父类的指针转为子类的指针,进而调用你6个参数的接口。 ---------------------------------------------------------------------------------------- 另外,这种设计本身有问题。若想优化,看一下下Liskov原则。
12345678891234 2017-10-11
  • 打赏
  • 举报
回复
class Base { virtual void execute(int a,int b,int c); virtual void setParam(int flag,int value); };
请叫我梅西 2017-10-11
  • 打赏
  • 举报
回复
路过,学习一下下
ianchen11 2017-10-10
  • 打赏
  • 举报
回复
路过,学习一下下路过
zilaishuichina 2017-10-10
  • 打赏
  • 举报
回复

class Base
{
public:
	virtual void SetArgv(ArgvType type, void* value);
	virtual void Invoke();
};

class Derived : public Base
{
public:
	virtual void SetArgv(ArgvType type, void* value);
	virtual void Invoke();

private:
	int d[6];
};
Wxgsh 2017-10-07
  • 打赏
  • 举报
回复
学习一下,学习一下。
喳喳叽叽 2017-10-03
  • 打赏
  • 举报
回复
可以通过构造函数来设置参数啊
qq_40448101 2017-09-29
  • 打赏
  • 举报
回复
学习一下
zkj66278006 2017-09-28
  • 打赏
  • 举报
回复
现在谁还自己写COM接口啊
红色代码 2017-09-28
  • 打赏
  • 举报
回复
接口不变,派生类中需要额外的参数,就在new这个对象的时候通过构造函数传递进去。如果必须在运行时传递额外参数,那就是原来接口设计有问题。
weixin_40392394 2017-09-26
  • 打赏
  • 举报
回复
我是一个文科生
qq_40403193 2017-09-26
  • 打赏
  • 举报
回复
路过学习下~~~~~~~~
A.Wang 2017-09-20
  • 打赏
  • 举报
回复
路过学习学习
hugh_z 2017-09-18
  • 打赏
  • 举报
回复
涨知识了。谢谢分享。
加载更多回复(15)

5,530

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 模式及实现
社区管理员
  • 模式及实现社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧