标题:关于类的设计
只看楼主
suizier
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2007-3-31
 问题点数:0 回复次数:1 
关于类的设计
请教一下,关于类的设计
一个接口类,由选择语句控制实例化后的对象,两个对象分别是BEZIER曲线对象,和自然样条对象,它们有一样的方法
请问大家有没有好的设计思路?
2007-04-27 19:59
jiangzw625
Rank: 1
等 级:新手上路
帖 子:119
专家分:0
注 册:2006-3-27
得分:0 
建议使用类厂模式
class Graph
{
public:
virtual void Paint() = 0;
};

class BezierGraph:public Graph
{
//实现
};

class NaturalGraph:public Graph
{
//实现
};

class GraphFactory
{
public:
GraphFactory();
Graph* GetObject(string object)
{
if(object == "bezier")return new BezierGraph;
else if(object == "natural")return new NaturalGraph;
else
//可以抛出异常或返回0
}
};

//使用
GraphFactory gf;
string str;
Graph* pG = gf.GetObject(str);//这里的参数可以代替你要用的条件语句了,你也注意到了吧,条件语句在GraphFactory里呢。
pG->Paint();

马马乎乎
2007-05-01 15:04



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-135481-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.084761 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved