Delphi面向对象 之数据封装
本帖最后由 by024 于 2014-4-24 17:17 编辑作为一名新手,这是我学习Delphi中最重要的理论面向对象中,一些自己写的实例。如有不对,请指出,感谢不已。本篇设计较多的理论,我也是看了又看,第一篇是完全看不懂。没事就翻翻,慢慢就有些参悟了。最后发一篇,要是没人交流,以后就不发啦!!!!
--------------------------------------关于数据的封装 分隔线 不知这样理解封装性对不对?--------------------------------------------
一、对象的特性:1、封装性:
把数据和代码结合在同一个结构中,使用对像的数据域(或叫成员变量),使外部程序必须通过对象的方法才能对数据进行访问。这样就起到了对数据的保护作用。
举个实例吧{类声明} TypeTMyint=classprivate value:integer; //私有成员 procedure Setvalue(s:integer);public property Getvalue:integerread value writeSetvalue; //属性
///访问属性Getvalue时,读取value值,给value赋值时,调用过程Setvalue //这样就可以在Setvalue中对value值进行校验控制; end;
{实现部分的过程}procedure TMyint.Setvalue(s:integer);begin //当传入的值在0-120之间时,就赋给value 否则提醒重新设置 //这样就起到对value的保护,避免了出现不合理的现象。 if (s>0)and (s<=120) then value:=s else begin value:=0; ShowMessage('超过120岁,不合法,请重新设置。'); end;end;
程序入口部分}procedure TForm1.Button1Click(Sender: TObject);varMyint:TMyint;//声明自定义类型的变量beginMyint:=TMyint.Create;//创建对象Myint.Getvalue := strtoint(Edit1.text);//读取value值,通过属性Getvalueif Myint.Getvalue<>0then ShowMessage(inttostr(Myint.Getvalue)+'岁设置成功。');Myint.destroy;end
页:
[1]