游戏开发论坛

 找回密码
 立即注册
搜索
楼主: 千里马肝

封装的意义和喻义

[复制链接]

0

主题

1

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2009-9-17 21:22:00 | 显示全部楼层

Re:封装的意义和喻义

很经典。顶

14

主题

251

帖子

251

积分

中级会员

Rank: 3Rank: 3

积分
251
发表于 2009-9-22 18:06:00 | 显示全部楼层

Re:封装的意义和喻义

顶一下

1

主题

88

帖子

93

积分

注册会员

Rank: 2

积分
93
QQ
发表于 2009-10-3 17:00:00 | 显示全部楼层

Re:封装的意义和喻义

还不错啦~

0

主题

4

帖子

6

积分

新手上路

Rank: 1

积分
6
发表于 2009-10-5 12:08:00 | 显示全部楼层

Re:封装的意义和喻义

封装,为了分层管理,分清责任,便于做大事。

45

主题

157

帖子

169

积分

注册会员

Rank: 2

积分
169
QQ
发表于 2009-11-6 23:28:00 | 显示全部楼层

Re:封装的意义和喻义

    我的项目里也用到了这个,供大家参考:
class CUIEngine
{
protected:
  //UI自身行为,不同的UI可重载以下成员让自己表现不同:
  
  //捕获鼠标后执行的行为,当所有的子UI没有捕获鼠标它才能捕获,而此行为才会被执行。
  virtual bool CaptureMouseDoing( const MouseState& MouseState ){ return true; }
  //这个行为忽视子UI捕获鼠标与否,总是会被执行。
  virtual bool CaptureMouseAlwaysDoing( const MouseState& MouseState ){ return true; }
  
  //失去鼠标后执行的行为,受AlwaysLose状态影响:
  //当此状态为真是,也就是一直失去鼠标,所以此行为不断地被执行直到再次捕获鼠标
  //当此状态为假是,只有在捕获鼠标后第一次失去鼠标时此行为才会被执行且只执行一次。
  virtual bool LoseMouseDoing( const MouseState& MouseState ){ return true; }
  
  //绘制时执行的行为
  virtual bool DrawDoing(){ return true; }
  //绘制结束时执行的行为
  virtual bool EndDrawDoing(){ return true; }

  //变为无效状态时执行的行为
  virtual bool InvalidDoing(){ return true; }
  //变为有效状态时执行的行为
  virtual bool EffectiveDoing(){ return true; }
  
  //收到按键按下消息时执行的行为
  virtual bool KeyDownDoing( const KeyState& KeyState ){ return true; }
  //收到按键弹起消息时执行的行为
  virtual bool KeyUpDoing( const KeyState& KeyState ){ return true; }

  //收到字符输入消息时执行的行为
  virtual bool CharDoing( char c ){ return true; }
  virtual bool CharDoing( unsigned short c ){ return true; }

  //获得焦点时执行的行为
  virtual bool CaptureFocusDoing(){ return true; }
  //失去焦点时执行的行为
  virtual bool LoseFocusDoing(){ return true; }
};

1

主题

14

帖子

14

积分

新手上路

Rank: 1

积分
14
发表于 2010-2-18 17:55:00 | 显示全部楼层

Re:封装的意义和喻义

很少发现有人喜欢看exceptional C++ style的, 找到同类拉,sutter的书我觉得写得就是有水准,项目也用得上,不过同事没几个喜欢看的(杯具阿,他们连effective C++都不是很贯通),那本coding standards我也买了,好书!

Exceptional C++ style是公司唯一一本被我翻烂的书(也许是装订的胶质量问题,粘过几次,还是不行)。
这书的开头几章就说了sprintf的坏处,以及替代方式,比如snprintf,可惜大家还是用不带n的版本。 我做游戏后期改bug,发现很多都是所谓的数组越界,也就是缓冲区溢出,但是还是很多人坚持不换vector(debug 版本的operator[]调用的是at(),有边界检查),tr1::array,和snprintf,杯具阿。

0

主题

4

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2010-3-5 17:47:00 | 显示全部楼层

Re: 封装的意义和喻义

[em2]顶啦,呵呵~

6

主题

47

帖子

86

积分

注册会员

Rank: 2

积分
86
QQ
发表于 2010-3-9 22:45:00 | 显示全部楼层

Re:封装的意义和喻义

讲得很不错,多谢楼主。。

13

主题

79

帖子

81

积分

注册会员

Rank: 2

积分
81
QQ
发表于 2010-3-19 16:35:00 | 显示全部楼层

Re: Re:封装的意义和喻义

bluebaby9811: Re:封装的意义和喻义

    我的项目里也用到了这个,供大家参考:
class CUIEngine
{
protected:
  //UI自身行为,不同的U...

我觉得楼上还没理解条款里面讲的意思,正确的应该象这样子:
class Base
{
public :
   
  void Function(){DoFunction();}

private:
  virtual void DoFunction()=0;
}
当然也不是每一个类都要这么作

0

主题

18

帖子

18

积分

新手上路

Rank: 1

积分
18
QQ
发表于 2010-3-20 11:07:00 | 显示全部楼层

Re:封装的意义和喻义

我发现我晕了~~~
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-2-26 23:20

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表