高分请教:如何将实际应用转化为类定义,以面向对象方式编程?哪里可以下载到以面向对象技术开发的范例程序(最好是数据库应用程序)

sailor76 2002-09-17 08:59:39
我是一个新手,前几天拿着自己开发的一个程序给老板看,他说我的程序是使用面向对象的工具+结构化的方法编写的,而没有将应用定义为类以解决实际问题。如何将实际应用转化为类定义,以面向对象方式编程?

我编写的是一个档案管理程序,是不是应该从TObject继承,将案卷、卷内文件等定义为类,而将维护、借阅等定义为其方法呀,这又怎么和数据库处理相联系呢——为案卷类(AjClass)、卷内文件类(WjClass)等增加一个DataSet属性,然后定义类似AjClass.DataSet.Delete的方法吗?

哪位大侠指点指点我,不胜感激!

本来想给300分的,但csdn不允许
...全文
32 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
sailor76 2002-09-23
  • 打赏
  • 举报
回复
我已经下载了英文版Design pattern,我会好好学习的,多谢!
ScoutKing 2002-09-21
  • 打赏
  • 举报
回复
Sorry!
俺没啥文化,写错了!
应该是Design pattern
也就是 设计模式
面向对象编程的经典书籍
sailor76 2002-09-21
  • 打赏
  • 举报
回复
>>>建议去看 Design Pattren?————Design Pattren是什么?可以详细介绍一下吗?
sailor76 2002-09-17
  • 打赏
  • 举报
回复
Delphi6应用开发指南一书中有如下Dog类的定义,在需要时定义Dog类,然后调用狗吠、跳、跑等方法来模拟狗的行为。是不是这样的才叫面向对象编程?

unit UDog;

interface

uses ...

type
TDogColor = (dcBrown, dcWhite, dcBlack, dcYellow);
TDogGender = ( dgMale, dgBitch );
TDogBreed = ( dbLabrador, dbPoodle ); // etc
TDogWeight = 0..300;

TDog = class
private
FColor : TDogColor;
FGender : TDogGender;
FBreed : TDogBreed;
FWeight : TDogWeight;

public
Procedure Jump;
Procedure Run;
Procedure Bark;
Procedure Sleep;

property Color : TDogColor read FColor write FColor;
property Gender : TDogGender read FGender write FGender;
property Breed : TDogBreed read FBreed write FBreed;
property Weight : TDogWeight read FWeight write FWeight;

end;

const
TDogColors : array[TDogColor] of TColor = ($00004080, clWhite, clBlack, clYellow);

implementation

{ TDog }

procedure TDog.Bark;
begin
//狗吠的程序段
end;

procedure TDog.Jump;
begin
//狗跳的程序段
end;

procedure TDog.Run;
begin
//狗跑的程序段
end;

procedure TDog.Sleep;
begin
//狗睡觉的程序段
end;

end.
ScoutKing 2002-09-17
  • 打赏
  • 举报
回复
建议去看 Design Pattren
dupenf 2002-09-17
  • 打赏
  • 举报
回复
怎么说呢!其实正常的编程就是面向对象了。只是意识不到。例如:我创建了一个窗体,就是创建了一个窗体类的对象,然后我们向里面添加构件,或者变量,都是来定义tform这个类的属性,或方法。 当我们写事件的时候,也就是这个类的方法里写的!! 整体上来说都是面向对象的思想!但是,如果你意识不到这一点,那么开发过程中就是面向过程的思想了。 有些方法啦,或属性什么的,引用,就是面向过程的。 还有就是因为没有面向对象的思路,所以开发的时候,也没有用到面向对象的方法和测罗来做,所以,有的人开发的东西,可以一眼看出来是面向对象,还是面向过程的(这个不是说你啊,其实我也是菜鸟一个,大家交流一些经验而已);
只要在开发过程中用到面向对象的思维,方法,等等。就可以开放出面向对象的产品来,当然需要经验,也不是绝对的。 主要是锻炼自己。

对于你说的,我觉得只要不是全局性的,最好不要继承类Tobject;
。。。

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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