DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: snarv
今日帖子: 12
在线用户: 8
导航: 论坛 -> DELPHI技术 斑竹:liumazi,sephil  
作者:
男 lzb_talent (天才talent) ★☆☆☆☆ -
普通会员
2004/4/27 11:31:00
标题:
delphi如何封装函数和对象---一个实际的问题 浏览:1348
加入我的收藏
楼主: 各位同仁,为了程序更简介更好移植...一个很实际的问题:请问如何实现"封装",请大家援手,最好能给点源代码。谢过!
----------------------------------------------
delphi酷儿
作者:
男 bios (阿贡) ★☆☆☆☆ -
盒子中级会员
2004/4/27 11:38:20
1楼: 这个 自己随便定义一个类吧  里面成员函数想怎么写就怎么写啊
----------------------------------------------
按此在新窗口浏览图片
按此在新窗口浏览图片
作者:
男 root_lh (Lhxs) ★☆☆☆☆ -
盒子活跃会员
2004/4/27 12:24:12
2楼: 最好看看UML面向对象设计
----------------------------------------------
中流一壶,千金争挈。宁为铅刀,毋为楮叶。错节盘根,利器斯别。识时务者,呼为俊杰!
作者:
男 mudian (mudian) ★☆☆☆☆ -
普通会员
2004/4/27 12:33:44
3楼: bios师傅:你好!
    请问Class和Unit区别有哪些,请逐个列出。。。。。。。其实我觉得很多时候Unit完全可以替代Class的。
----------------------------------------------
依然记得从你口中说出再见坚强如铁 
昏暗中有种烈日灼伤的错觉 
黄昏的地平线 
画出一句离别 
爱情进入永夜 
依然记得从你眼中滑落的泪伤心欲决 
混乱中有种烈日灼伤的错觉 
黄昏的地平线 
割断幸福喜悦 
相爱已经幻灭
作者:
男 bios (阿贡) ★☆☆☆☆ -
盒子中级会员
2004/4/27 13:22:41
4楼: 这个区别不好说 很多人 都没有《面向对象》的基础所以无法体会!要说起来话就多了,但 我通常都是封装类的,那么程序看起来 比 孤零零的调用单个函数要整齐的多!

最好的理由 比如给一个 任意数据 ,只要在类初始化时传入数据,对这个数据可以进行N多的处理!,而不必要为了一个数据 调用N次孤零零的单个函数。


比如:class  CWindowInfo
{
 private:

 HWND  hWnd;

 public: // 方法
 CWindowInfo(HWND  hwnd)

 {
 hWnd=hwnd;
 }
 HWND  Handle(void)

 {
 return  hWnd;
 }
 bool  GetWindowIcon(TImage  *Img);
 int  GetWindowIcon(TImageList  *imlLargeIcon,TImageList  *imlSmallIcon);
 bool  Minimized(void);
 bool  Maximized(void);
 bool  Visible(void);
 bool  Enabled(void);
 bool  TopMost(void);
 int  GetWindowSizeStatus(void);
 int  GetWindowStyle(void);
 int  GetWindowExStyle(void);
 int  GetWindowID(void);
 int  GetWindowHinstance(void);
 int  GetWindowThreadProcessId(void);
 int  GetWindowWndProc(void);
 HWND  GetParent(void);
 AnsiString  GetWindowSizeStatusString(void);
 AnsiString  GetWindowTitle(void);
 AnsiString  GetWindowText(void);
 AnsiString  GetWindowClassName(void);
 AnsiString  YesNoString(bool);
 TRect  GetWindowRect(void);
 TRect  GetWindowClientRect(void);
 void  SetListItem(TListItem  *Item);
};

----------------------------------------------
按此在新窗口浏览图片
按此在新窗口浏览图片
作者:
男 bios (阿贡) ★☆☆☆☆ -
盒子中级会员
2004/4/27 13:26:19
5楼: 刚好 理由就是类继承:因为每个控件继承至tobject 如果你不封装类
那么你每写一个 控件都得重复 写tobject的 成员函数,那不累死才怪!
----------------------------------------------
按此在新窗口浏览图片
按此在新窗口浏览图片
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行70.3125毫秒 RSS