一道设计题目的面试题,请教

HarlanC 2012-09-30 09:01:37
设计一个远程家电控制系统,包括从最底层的硬件,到架构最后详细到数据结构的设计。

其中数据结构的设计部分考虑了半天没有得出结果

设计要求能够比较好的满足封闭性,可扩展性,
1.电器有一些公共的功能,比如打开、关闭电器,但也有一些特殊的功能,比如电视机换台,空调调温等,要求增加一种电器对代码不需要做大的改动
2.添加一种功能也不需要做大的改动
题目中提到了一种将公共功能提取到父类中,特殊家电功能在子类中实现
class basicElectroic
{
public:
int open();
int close();
}
class TV : public basicElectroic
{
int tiaotaiForward();
int tiaotaiBack();
}
题目中要求禁止使用这种方法,原因是父类不能调用子类的函数
...全文
114 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
BillyW 2012-10-10
  • 打赏
  • 举报
回复
这题,简单的答也要几小时吧
HarlanC 2012-10-08
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
引用楼主 的回复:
1.电器有一些公共的功能,比如打开、关闭电器,但也有一些特殊的功能,比如电视机换台,空调调温等,要求增加一种电器对代码不需要做大的改动
2.添加一种功能也不需要做大的改动

这种所谓的题目严重缺乏可操作性!

如果让出题者写一个测试程序,当“增加一种电器”时怎样体现?当“添加一种功能”时又怎样体现?

出题者应该给出明确的有结构知识的
问题,而不是让做题的人去自己……
[/Quote]

这个题目写的真的很泛泛,我还没说全,包括底层硬件的设计,到软件的架构设计,详细到数据结构,很变态。我的问题是自己想的时候发现的,开始觉的可以用基类指针声明一个特定的子类对象,这样使用的话可以达到扩展,但是有一个严重的问题,就是基类指针不能够调用子类的特殊函数,不知道有什么设计模式之类的可以解决这类问题,谢谢啊。
basicElectroic *tv = new TV();
tv->tiaotaiForward();这么整是错误的
  • 打赏
  • 举报
回复
[Quote=引用楼主 的回复:]
1.电器有一些公共的功能,比如打开、关闭电器,但也有一些特殊的功能,比如电视机换台,空调调温等,要求增加一种电器对代码不需要做大的改动
2.添加一种功能也不需要做大的改动
[/Quote]
这种所谓的题目严重缺乏可操作性!

如果让出题者写一个测试程序,当“增加一种电器”时怎样体现?当“添加一种功能”时又怎样体现?

出题者应该给出明确的有结构知识的问题,而不是让做题的人去自己想高层次的结构化问题。最讨人厌的出题者是“只给一个抽象的问题描述,却根本不能用代码写出问题使其成为可执行的测试用例”。

如果出题者可以写出测试用例,我们再来给他实现,那才叫做考试嘛。而出题者不能写出测试用例,仅仅埋下伏笔等着做题者去设计高层次的数据结构、写出测试用例,并且等做提者费力气解决了问题之后,出题者再来对做提者写的最高层次的结构和用例说三道四,那就是很讨人嫌的了。

1,265

社区成员

发帖
与我相关
我的任务
社区描述
软件工程/管理 管理版
社区管理员
  • 研发管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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