鱼C论坛

 找回密码
 立即注册
查看: 2580|回复: 0

Delphi面向对象 之数据封装

[复制链接]
发表于 2014-4-24 16:39:59 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 by024 于 2014-4-24 17:17 编辑

     作为一名新手,这是我学习Delphi中最重要的理论面向对象中,一些自己写的实例。如有不对,请指出,感谢不已。本篇设计较多的理论,我也是看了又看,第一篇是完全看不懂。没事就翻翻,慢慢就有些参悟了。最后发一篇,要是没人交流,以后就不发啦!!!!
--------------------------------------关于数据的封装    分隔线 不知这样理解封装性对不对?--------------------------------------------
一、对象的特性:
1、封装性:
   把数据和代码结合在同一个结构中,使用对像的数据域(或叫成员变量),使外部程序必须通过对象的方法才能对数据进行访问。这样就起到了对数据的保护作用。

举个实例吧
{类声明}
Type
  TMyint=class
  private
    value:integer;             //私有成员
     procedure Setvalue(s:integer);
  public
     property Getvalue:integer  read 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);
var
  Myint:TMyint;//声明自定义类型的变量
begin
  Myint:=TMyint.Create;//创建对象
  Myint.Getvalue := strtoint(Edit1.text);
  //读取value值,通过属性Getvalue
  if Myint.Getvalue<>0then ShowMessage(inttostr(Myint.Getvalue)+'岁设置成功。');
  Myint.destroy;
end

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-23 00:06

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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