鱼C论坛

 找回密码
 立即注册
查看: 3144|回复: 2

[技术交流] pascal练习 面向对象之1 三个数比大小

[复制链接]
发表于 2014-5-17 15:48:44 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 by024 于 2014-5-17 16:05 编辑

没事做小练习,复习巩固面向对象。这个三个数比大小,刚学delphi时,一直理解不来。。。。想想,就是数学不好。。上图 1234.jpg

不上传压缩文件了,直接上源码
类声明
  compare1=class //compare 比较
  private
     FBig:string;
     FSmall:string;
  public
     procedure j(a,b,c:integer);
     property Bigvalue:string   read FBig   ;
     property Smallvalue:string read FSmall ;
  end;


{过程实现}
procedure compare1.j(a,b,c:integer);
var
  i:integer;
begin
   if a<b then begin i:=a; a:=b; b:=i;end;
   if a<c then begin i:=a; a:=c; c:=i;end;
   if b<c then begin i:=b; b:=c; c:=i;end;
   FBig  :=inttostr(a)+', '+inttostr(b)+', '+inttostr(c);
   FSmall:=inttostr(c)+', '+inttostr(b)+', '+inttostr(a);
end;

////////////////////////////////////// 上面为对封装部分
{程序执行}
procedure TForm1.Button1Click(Sender: TObject);
var
   A1:compare1;
begin
   A1:=compare1.Create;
   A1.j(strtoint(edit1.Text),strtoint(edit2.Text),strtoint(edit3.Text)); //送入对象中排序
   edit4.Text:=A1.Bigvalue; //输入排列结果大to小
   edit5.Text:=A1.Smallvalue; //输出小to大
   A1.Free;
end;

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-5-17 15:53:47 | 显示全部楼层
本帖最后由 by024 于 2014-5-17 15:55 编辑

基实这么小的东西为面向对象,确实比较麻烦,直接写个过程调用就可以了。主要是为了加深一下什么是面向对象,才这么写的。如果程序大了,这么种法会比较好一些。
用面向对象,在delphi实现多线程同时调用一个过程的功能,也很容易,不冲。
直接调用过程来实现多线程执行同一个过程,很容易出错。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-8-28 08:07:56 | 显示全部楼层
楼主辛苦,已学习!!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-23 02:27

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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