pascal练习 面向对象之1 三个数比大小
本帖最后由 by024 于 2014-5-17 16:05 编辑没事做小练习,复习巩固面向对象。这个三个数比大小,刚学delphi时,一直理解不来。。。。想想,就是数学不好。。上图
不上传压缩文件了,直接上源码
类声明
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;
本帖最后由 by024 于 2014-5-17 15:55 编辑
基实这么小的东西为面向对象,确实比较麻烦,直接写个过程调用就可以了。主要是为了加深一下什么是面向对象,才这么写的。如果程序大了,这么种法会比较好一些。
用面向对象,在delphi实现多线程同时调用一个过程的功能,也很容易,不冲。
直接调用过程来实现多线程执行同一个过程,很容易出错。
楼主辛苦,已学习!!!!
页:
[1]